Blocking position of Coarse and Fine Grained nodes for demo

Change-Id: Ifff6c71ebe9ec4a8bf344bf2ccc5aa0669f6723c
diff --git a/xos/gui/.gitignore b/xos/gui/.gitignore
index d6b7ef3..789431e 100644
--- a/xos/gui/.gitignore
+++ b/xos/gui/.gitignore
@@ -1,2 +1,4 @@
-*
-!.gitignore
+node_modules/
+typings/
+.idea/
+.tmp/
diff --git a/xos/gui/Dockerfile b/xos/gui/Dockerfile
new file mode 100644
index 0000000..911bd15
--- /dev/null
+++ b/xos/gui/Dockerfile
@@ -0,0 +1,24 @@
+FROM xosproject/xos-gui-extension-builder:candidate
+
+# Set environment vars
+ENV CODE_SOURCE .
+ENV CODE_DEST /var/www
+ENV VHOST /var/www/dist
+
+# Add the app deps
+COPY ${CODE_SOURCE}/package.json ${CODE_DEST}/package.json
+COPY ${CODE_SOURCE}/typings.json ${CODE_DEST}/typings.json
+
+# Install Deps
+WORKDIR ${CODE_DEST}
+RUN npm install
+RUN npm run typings
+
+# Build the app
+COPY ${CODE_SOURCE}/conf ${CODE_DEST}/conf
+COPY ${CODE_SOURCE}/gulp_tasks ${CODE_DEST}/gulp_tasks
+COPY ${CODE_SOURCE}/src ${CODE_DEST}/src
+COPY ${CODE_SOURCE}/gulpfile.js ${CODE_DEST}/gulpfile.js
+COPY ${CODE_SOURCE}/tsconfig.json ${CODE_DEST}/tsconfig.json
+COPY ${CODE_SOURCE}/tslint.json ${CODE_DEST}/tslint.json
+RUN npm run build
diff --git a/xos/gui/README.md b/xos/gui/README.md
new file mode 100644
index 0000000..4fb7260
--- /dev/null
+++ b/xos/gui/README.md
@@ -0,0 +1,14 @@
+# R-CORD GRAPH GUI EXTENSION
+
+## Platform install integration
+
+Having a profile deployed is required. To add extensions listed in your `profile-manifest` as:
+
+```
+enabled_gui_extensions:
+  - name: rcord
+    path: orchestration/profiles/ecord/xos/gui/rcord
+```
+
+Execute: `ansible-playbook -i inventory/mock-rcord deploy-xos-gui-extensions-playbook.yml`
+_NOTE: remember to replate `inventory/**` with the actual `cord_profile` you are using_ 
diff --git a/xos/gui/conf/app/README.md b/xos/gui/conf/app/README.md
new file mode 100755
index 0000000..bdc361a
--- /dev/null
+++ b/xos/gui/conf/app/README.md
@@ -0,0 +1,47 @@
+# XOS-GUI Config
+
+### Note that the configurations defined in this folder are for development only, they are most likely to be overrided by a volume mount defined in `service-profile`
+
+## App Config
+
+This configuration will specifiy the rest API base url and the Websocket address.
+Here is it's structure:
+
+```
+angular.module('app')
+  .constant('AppConfig', {
+    apiEndpoint: '/spa/api',
+    websocketClient: '/'
+  });
+
+```
+
+## Style Config
+
+This configuration will contain branding information, such as title, logo and navigation items.
+Here is it's structure:
+
+```
+angular.module('app')
+  .constant('StyleConfig', {
+    projectName: 'CORD',
+    favicon: 'cord-favicon.png',
+    background: 'cord-bg.jpg',
+    payoff: 'Your VNF orchestrator',
+    logo: 'cord-logo.png',
+    routes: [
+        {
+            label: 'Slices',
+            state: 'xos.core.slices'
+        },
+        {
+            label: 'Instances',
+            state: 'xos.core.instances'
+        },
+        {
+            label: 'Nodes',
+            state: 'xos.core.nodes'
+        }
+    ]
+});
+```
\ No newline at end of file
diff --git a/xos/gui/conf/app/app.config.dev.js b/xos/gui/conf/app/app.config.dev.js
new file mode 100755
index 0000000..5c620d7
--- /dev/null
+++ b/xos/gui/conf/app/app.config.dev.js
@@ -0,0 +1,5 @@
+angular.module('app')
+  .constant('AppConfig', {
+    apiEndpoint: 'http://xos.dev:3000/api',
+    websocketClient: 'http://xos.dev:3000'
+  });
diff --git a/xos/gui/conf/app/app.config.local.ts b/xos/gui/conf/app/app.config.local.ts
new file mode 100755
index 0000000..a00155b
--- /dev/null
+++ b/xos/gui/conf/app/app.config.local.ts
@@ -0,0 +1,5 @@
+import {IAppConfig} from './interfaces';
+export const AppConfig: IAppConfig = {
+  apiEndpoint: 'http://localhost:4000/api',
+  websocketClient: 'http://localhost:4000/'
+};
diff --git a/xos/gui/conf/app/app.config.production.js b/xos/gui/conf/app/app.config.production.js
new file mode 100755
index 0000000..8f5bd5a
--- /dev/null
+++ b/xos/gui/conf/app/app.config.production.js
@@ -0,0 +1,5 @@
+angular.module('app')
+  .constant('AppConfig', {
+    apiEndpoint: '/spa/api',
+    websocketClient: '/'
+  });
diff --git a/xos/gui/conf/app/app.config.test.js b/xos/gui/conf/app/app.config.test.js
new file mode 100755
index 0000000..86cfcb1
--- /dev/null
+++ b/xos/gui/conf/app/app.config.test.js
@@ -0,0 +1,5 @@
+angular.module('app')
+  .constant('AppConfig', {
+      apiEndpoint: 'http://xos-test:3000/api',
+      websocketClient: 'http://xos-test:3000'
+  });
diff --git a/xos/gui/conf/app/style.config.cord.js b/xos/gui/conf/app/style.config.cord.js
new file mode 100755
index 0000000..6f7ebab
--- /dev/null
+++ b/xos/gui/conf/app/style.config.cord.js
@@ -0,0 +1,22 @@
+angular.module('app')
+  .constant('StyleConfig', {
+    projectName: 'CORD',
+    favicon: 'cord-favicon.png',
+    background: 'cord-bg.jpg',
+    payoff: 'Your VNF orchestrator',
+    logo: 'cord-logo.png',
+    routes: [
+        {
+            label: 'Slices',
+            state: 'xos.core.slices'
+        },
+        {
+            label: 'Instances',
+            state: 'xos.core.instances'
+        },
+        {
+            label: 'Nodes',
+            state: 'xos.core.nodes'
+        }
+    ]
+});
diff --git a/xos/gui/conf/app/style.config.opencloud.js b/xos/gui/conf/app/style.config.opencloud.js
new file mode 100755
index 0000000..9693c5d
--- /dev/null
+++ b/xos/gui/conf/app/style.config.opencloud.js
@@ -0,0 +1,14 @@
+angular.module('app')
+  .constant('StyleConfig', {
+    projectName: 'OpenCloud',
+    favicon: 'opencloud-favicon.png',
+    background: 'opencloud-bg.jpg',
+    payoff: 'Your OS resource manager',
+    logo: 'opencloud-logo.png',
+    routes: [
+        {
+            label: 'Slices',
+            state: 'xos.core.slices'
+        }
+    ]
+});
diff --git a/xos/gui/conf/browsersync-dist.conf.js b/xos/gui/conf/browsersync-dist.conf.js
new file mode 100755
index 0000000..fa45845
--- /dev/null
+++ b/xos/gui/conf/browsersync-dist.conf.js
@@ -0,0 +1,12 @@
+const conf = require('./gulp.conf');
+
+module.exports = function () {
+  return {
+    server: {
+      baseDir: [
+        conf.paths.dist
+      ]
+    },
+    open: false
+  };
+};
diff --git a/xos/gui/conf/browsersync.conf.js b/xos/gui/conf/browsersync.conf.js
new file mode 100755
index 0000000..430c94f
--- /dev/null
+++ b/xos/gui/conf/browsersync.conf.js
@@ -0,0 +1,25 @@
+const conf = require('./gulp.conf');
+const proxy = require('./proxy');
+
+module.exports = function () {
+  return {
+    server: {
+      baseDir: [
+        conf.paths.tmp,
+        conf.paths.src
+      ],
+      middleware: function (req, res, next) {
+        if (req.url.indexOf('xosapi') !== -1) {
+          proxy.api.web(req, res);
+        }
+        else if (req.url.indexOf('spa') !== -1 || req.url.indexOf('socket') !== -1) {
+          proxy.static.web(req, res);
+        }
+        else {
+          next();
+        }
+      }
+    },
+    open: false
+  };
+};
diff --git a/xos/gui/conf/gulp.conf.js b/xos/gui/conf/gulp.conf.js
new file mode 100755
index 0000000..dfcc730
--- /dev/null
+++ b/xos/gui/conf/gulp.conf.js
@@ -0,0 +1,48 @@
+'use strict';
+
+/**
+ *  This file contains the variables used in other gulp files
+ *  which defines tasks
+ *  By design, we only put there very generic config values
+ *  which are used in several places to keep good readability
+ *  of the tasks
+ */
+
+const path = require('path');
+const gutil = require('gulp-util');
+
+exports.ngModule = 'app';
+
+/**
+ *  The main paths of your project handle these with care
+ */
+exports.paths = {
+  src: 'src',
+  dist: 'dist/extensions/rcord', // NOTE that 'rcord' have to match the extension name provided in platform install
+  appConfig: 'conf/app',
+  tmp: '.tmp',
+  e2e: 'e2e',
+  tasks: 'gulp_tasks'
+};
+
+exports.path = {};
+for (const pathName in exports.paths) {
+  if (exports.paths.hasOwnProperty(pathName)) {
+    exports.path[pathName] = function pathJoin() {
+      const pathValue = exports.paths[pathName];
+      const funcArgs = Array.prototype.slice.call(arguments);
+      const joinArgs = [pathValue].concat(funcArgs);
+      return path.join.apply(this, joinArgs);
+    };
+  }
+}
+
+/**
+ *  Common implementation for an error handler of a Gulp plugin
+ */
+exports.errorHandler = function (title) {
+  return function (err) {
+    gutil.log(gutil.colors.red(`[${title}]`), err.toString());
+    this.emit('end');
+  };
+};
diff --git a/xos/gui/conf/karma-auto.conf.js b/xos/gui/conf/karma-auto.conf.js
new file mode 100755
index 0000000..a5ea084
--- /dev/null
+++ b/xos/gui/conf/karma-auto.conf.js
@@ -0,0 +1,61 @@
+const conf = require('./gulp.conf');
+const pkg = require('../package.json');
+
+module.exports = function (config) {
+  const configuration = {
+    basePath: '../',
+    singleRun: false,
+    autoWatch: true,
+    logLevel: 'INFO',
+    junitReporter: {
+      outputDir: 'test-reports'
+    },
+    browsers: [
+      'PhantomJS',
+      // 'Chrome'
+    ],
+    frameworks: [
+      'jasmine',
+      'es6-shim'
+    ],
+    files: [
+      'node_modules/es6-shim/es6-shim.js',
+      conf.path.src('index.spec.js'),
+      conf.path.src('**/*.html')
+    ],
+    preprocessors: {
+      [conf.path.src('index.spec.js')]: [
+        'webpack'
+      ],
+      [conf.path.src('**/*.html')]: [
+        'ng-html2js'
+      ]
+    },
+    ngHtml2JsPreprocessor: {
+      stripPrefix: `${conf.paths.src}/`
+    },
+    reporters: ['mocha', 'coverage'],
+    coverageReporter: {
+      type: 'html',
+      dir: 'coverage/'
+    },
+    webpack: require('./webpack-test.conf'),
+    webpackMiddleware: {
+      noInfo: true
+    },
+    plugins: [
+      require('karma-jasmine'),
+      require('karma-junit-reporter'),
+      require('karma-coverage'),
+      require('karma-phantomjs-launcher'),
+      require('karma-chrome-launcher'),
+      require('karma-phantomjs-shim'),
+      require('karma-ng-html2js-preprocessor'),
+      require('karma-webpack'),
+      require('karma-es6-shim'),
+      require('karma-mocha-reporter')
+    ]
+  };
+
+  config.set(configuration);
+};
diff --git a/xos/gui/conf/karma.conf.js b/xos/gui/conf/karma.conf.js
new file mode 100755
index 0000000..2db6132
--- /dev/null
+++ b/xos/gui/conf/karma.conf.js
@@ -0,0 +1,57 @@
+const conf = require('./gulp.conf');
+
+module.exports = function (config) {
+  const configuration = {
+    basePath: '../',
+    singleRun: true,
+    autoWatch: false,
+    logLevel: 'INFO',
+    junitReporter: {
+      outputDir: 'test-reports'
+    },
+    browsers: [
+      'PhantomJS'
+    ],
+    frameworks: [
+      'jasmine',
+      'es6-shim'
+    ],
+    files: [
+      'node_modules/es6-shim/es6-shim.js',
+      conf.path.src('index.spec.js'),
+      conf.path.src('**/*.html')
+    ],
+    preprocessors: {
+      [conf.path.src('index.spec.js')]: [
+        'webpack'
+      ],
+      [conf.path.src('**/*.html')]: [
+        'ng-html2js'
+      ]
+    },
+    ngHtml2JsPreprocessor: {
+      stripPrefix: `${conf.paths.src}/`
+    },
+    reporters: ['progress', 'coverage'],
+    coverageReporter: {
+      type: 'html',
+      dir: 'coverage/'
+    },
+    webpack: require('./webpack-test.conf'),
+    webpackMiddleware: {
+      noInfo: true
+    },
+    plugins: [
+      require('karma-jasmine'),
+      require('karma-junit-reporter'),
+      require('karma-coverage'),
+      require('karma-phantomjs-launcher'),
+      require('karma-phantomjs-shim'),
+      require('karma-ng-html2js-preprocessor'),
+      require('karma-webpack'),
+      require('karma-es6-shim')
+    ]
+  };
+
+  config.set(configuration);
+};
diff --git a/xos/gui/conf/proxy.js b/xos/gui/conf/proxy.js
new file mode 100644
index 0000000..a0d9ee0
--- /dev/null
+++ b/xos/gui/conf/proxy.js
@@ -0,0 +1,30 @@
+const httpProxy = require('http-proxy');
+
+const target = process.env.PROXY || '192.168.46.100';
+
+const apiProxy = httpProxy.createProxyServer({
+  target: `http://${target}:9101`
+});
+
+const staticFilesProxy = httpProxy.createProxyServer({
+  target: `http://${target}/spa`
+});
+
+apiProxy.on('error', (error, req, res) => {
+  res.writeHead(500, {
+    'Content-Type': 'text/plain'
+  });
+  console.error('[Proxy]', error);
+});
+
+staticFilesProxy.on('error', (error, req, res) => {
+  res.writeHead(500, {
+    'Content-Type': 'text/plain'
+  });
+  console.error('[Proxy]', error);
+});
+
+module.exports = {
+  api: apiProxy,
+  static: staticFilesProxy
+};
diff --git a/xos/gui/conf/webpack-dist.conf.js b/xos/gui/conf/webpack-dist.conf.js
new file mode 100755
index 0000000..91dd0a7
--- /dev/null
+++ b/xos/gui/conf/webpack-dist.conf.js
@@ -0,0 +1,103 @@
+const webpack = require('webpack');
+const conf = require('./gulp.conf');
+const path = require('path');
+
+const HtmlWebpackPlugin = require('html-webpack-plugin');
+const ExtractTextPlugin = require('extract-text-webpack-plugin');
+const pkg = require('../package.json');
+const autoprefixer = require('autoprefixer');
+const BaseHrefWebpackPlugin = require('base-href-webpack-plugin').BaseHrefWebpackPlugin;
+const CopyWebpackPlugin = require('copy-webpack-plugin');
+const env = process.env.NODE_ENV || 'production';
+const brand = process.env.BRAND || 'cord';
+
+module.exports = {
+  module: {
+    loaders: [
+      {
+        test: /.json$/,
+        loaders: [
+          'json'
+        ]
+      },
+      {
+        test: /\.(css|scss)$/,
+        loaders: ExtractTextPlugin.extract({
+          fallbackLoader: 'style',
+          loader: 'css?minimize!sass!postcss'
+        })
+      },
+      {
+        test: /\.ts$/,
+        exclude: /node_modules/,
+        loaders: [
+          'ng-annotate',
+          'ts'
+        ]
+      },
+      {
+        test: /.html$/,
+        loaders: [
+          'html?' + JSON.stringify({
+            attrs: ["img:src", "img:ng-src"]
+          })
+        ]
+      },
+      {
+        test: /\.(png|woff|woff2|eot|ttf|svg|jpg|gif|jpeg)$/,
+        loader: 'url-loader?limit=100000'
+      }
+    ]
+  },
+  plugins: [
+    new CopyWebpackPlugin([
+      { from: `./conf/app/app.config.${env}.js`, to: `app.config.js` },
+      { from: `./conf/app/style.config.${brand}.js`, to: `style.config.js` },
+    ]),
+    new webpack.optimize.OccurrenceOrderPlugin(),
+    new webpack.NoErrorsPlugin(),
+    new HtmlWebpackPlugin({
+      inject: true,
+      template: conf.path.src('index.html')
+    }),
+    new webpack.optimize.UglifyJsPlugin({
+      compress: {unused: true, dead_code: true, warnings: false}, // eslint-disable-line camelcase
+      mangle: false // NOTE mangling was breaking the build
+    }),
+    new ExtractTextPlugin('index-[contenthash].css'),
+    new webpack.optimize.CommonsChunkPlugin({name: 'vendor'}),
+    new webpack.ProvidePlugin({
+      $: "jquery",
+      jQuery: "jquery"
+    }),
+    new BaseHrefWebpackPlugin({
+      baseHref: '/spa/'
+    }),
+  ],
+  postcss: () => [autoprefixer],
+  output: {
+    path: path.join(process.cwd(), conf.paths.dist),
+    publicPath: "/spa/", // enable apache proxying on the head node
+    filename: '[name].js'
+  },
+  resolve: {
+    extensions: [
+      '',
+      '.webpack.js',
+      '.web.js',
+      '.js',
+      '.ts'
+    ]
+  },
+  entry: {
+    app: `./${conf.path.src('index')}`,
+    vendor: Object.keys(pkg.dependencies)
+  },
+  ts: {
+    configFileName: 'tsconfig.json'
+  },
+  tslint: {
+    configuration: require('../tslint.json')
+  }
+};
+
diff --git a/xos/gui/conf/webpack-test.conf.js b/xos/gui/conf/webpack-test.conf.js
new file mode 100755
index 0000000..a87e383
--- /dev/null
+++ b/xos/gui/conf/webpack-test.conf.js
@@ -0,0 +1,66 @@
+module.exports = {
+  module: {
+    preLoaders: [
+      {
+        test: /\.ts$/,
+        exclude: /node_modules/,
+        loader: 'tslint'
+      }
+    ],
+    loaders: [
+      {
+        test: /.json$/,
+        loaders: [
+          'json'
+        ]
+      },
+      {
+        test: /\.ts$/,
+        exclude: /node_modules/,
+        loaders: [
+          'ng-annotate',
+          'ts'
+        ]
+      },
+      {
+        test: /.html$/,
+        loaders: [
+          'html?' + JSON.stringify({
+            attrs: ["img:src", "img:ng-src"]
+          })
+        ]
+      },
+      {
+        test: /\.(css|scss)$/,
+        loaders: [
+          'style',
+          'css',
+          'sass',
+          'postcss'
+        ]
+      },
+      {
+        test: /\.(png|woff|woff2|eot|ttf|svg|jpg|gif|jpeg)$/,
+        loader: 'url-loader?limit=100000'
+      }
+    ]
+  },
+  plugins: [],
+  debug: true,
+  devtool: 'source-map',
+  resolve: {
+    extensions: [
+      '',
+      '.webpack.js',
+      '.web.js',
+      '.js',
+      '.ts'
+    ]
+  },
+  ts: {
+    configFileName: 'tsconfig.json'
+  },
+  tslint: {
+    configuration: require('../tslint.json')
+  }
+};
diff --git a/xos/gui/conf/webpack.conf.js b/xos/gui/conf/webpack.conf.js
new file mode 100755
index 0000000..544b2c5
--- /dev/null
+++ b/xos/gui/conf/webpack.conf.js
@@ -0,0 +1,99 @@
+const webpack = require('webpack');
+const conf = require('./gulp.conf');
+const path = require('path');
+
+const HtmlWebpackPlugin = require('html-webpack-plugin');
+const autoprefixer = require('autoprefixer');
+const CopyWebpackPlugin = require('copy-webpack-plugin');
+const env = process.env.NODE_ENV || 'production';
+const brand = process.env.BRAND || 'cord';
+
+module.exports = {
+  module: {
+    preLoaders: [
+      {
+        test: /\.ts$/,
+        exclude: /node_modules/,
+        loader: 'tslint'
+      }
+    ],
+
+    loaders: [
+      {
+        test: /.json$/,
+        loaders: [
+          'json'
+        ]
+      },
+      {
+        test: /\.(css|scss)$/,
+        loaders: [
+          'style',
+          'css',
+          'sass',
+          'postcss'
+        ]
+      },
+      {
+        test: /\.ts$/,
+        exclude: /node_modules/,
+        loaders: [
+          'ng-annotate',
+          'ts'
+        ]
+      },
+      {
+        test: /.html$/,
+        loaders: [
+          'html?' + JSON.stringify({
+            attrs: ["img:src", "img:ng-src"]
+          })
+        ]
+      },
+      {
+        test: /\.(png|woff|woff2|eot|ttf|svg|jpg|gif|jpeg)$/,
+        loader: 'url-loader?limit=100000'
+      }
+    ]
+  },
+  plugins: [
+    new CopyWebpackPlugin([
+      { from: `./conf/app/app.config.${env}.js`, to: `app.config.js` },
+      { from: `./conf/app/style.config.${brand}.js`, to: `style.config.js` },
+    ]),
+    new webpack.optimize.OccurrenceOrderPlugin(),
+    new webpack.NoErrorsPlugin(),
+    new HtmlWebpackPlugin({
+      template: conf.path.src('index.html')
+    })
+  ],
+  postcss: () => [autoprefixer],
+  debug: true,
+  devtool: 'source-map',
+  output: {
+    path: path.join(process.cwd(), conf.paths.tmp),
+    filename: 'index.js'
+  },
+  resolve: {
+    extensions: [
+      '',
+      '.webpack.js',
+      '.web.js',
+      '.js',
+      '.ts'
+    ]
+  },
+  entry: `./${conf.path.src('index')}`,
+  ts: {
+    configFileName: 'tsconfig.json'
+  },
+  tslint: {
+    configuration: require('../tslint.json')
+  },
+  stats: {
+    colors: true,
+    modules: true,
+    reasons: true,
+    errorDetails: true
+  }
+};
diff --git a/xos/gui/dist/extensions/ecord-local/app.config.js b/xos/gui/dist/extensions/ecord-local/app.config.js
new file mode 100644
index 0000000..8f5bd5a
--- /dev/null
+++ b/xos/gui/dist/extensions/ecord-local/app.config.js
@@ -0,0 +1,5 @@
+angular.module('app')
+  .constant('AppConfig', {
+    apiEndpoint: '/spa/api',
+    websocketClient: '/'
+  });
diff --git a/xos/gui/dist/extensions/ecord-local/app.js b/xos/gui/dist/extensions/ecord-local/app.js
new file mode 100644
index 0000000..ec8048e
--- /dev/null
+++ b/xos/gui/dist/extensions/ecord-local/app.js
@@ -0,0 +1 @@
+webpackJsonp([0],{121:function(module,exports){"use strict";exports.__esModule=!0;var ECordFineGrainedGraphReducer=function(){function ECordFineGrainedGraphReducer(XosServiceGraphExtender){this.XosServiceGraphExtender=XosServiceGraphExtender,this.nodes=[{id:"subscriber~1",label:"Enterprise",type:"subscriber"},{id:"tenant~1",label:"1",type:"tenant"},{id:"service~1",label:"vEE",type:"service"},{id:"tenant~2",label:"2",type:"tenant"},{id:"service~2",label:"vEG",type:"service"},{id:"tenant~3",label:"3",type:"tenant"},{id:"service~3",label:"vROUTER",type:"service"},{id:"tenant~4",label:"4",type:"tenant"},{id:"network~1",label:"public",type:"network"},{id:"tenant~5",label:"5",type:"tenant"},{id:"service~4",label:"vNodLocal",type:"service"},{id:"tenant~6",label:"6",type:"tenant"},{id:"network~2",label:"enterprise",type:"network"}],this.links=[{id:"service~1-tenant~1",source:2,target:1},{id:"tenant~1-subscriber~1",source:1,target:0},{id:"service~2-tenant~2",source:4,target:3},{id:"tenant~2-tenant~1",source:3,target:1},{id:"service~3-tenant~3",source:6,target:5},{id:"tenant~3-tenant~2",source:5,target:3},{id:"network~1-tenant~4",source:8,target:7},{id:"tenant~4-tenant~3",source:7,target:5},{id:"service~4-tenant~5",source:10,target:9},{id:"tenant~5-tenant~1",source:9,target:1},{id:"network~2-tenant~6",source:12,target:11},{id:"tenant~6-tenant~5",source:11,target:9}]}return ECordFineGrainedGraphReducer.prototype.setup=function(){var _this=this;this.XosServiceGraphExtender.register("finegrained","ecord-local",function(){return{nodes:_this.nodes,links:_this.links}})},ECordFineGrainedGraphReducer}();ECordFineGrainedGraphReducer.$inject=["XosServiceGraphExtender"],exports.ECordFineGrainedGraphReducer=ECordFineGrainedGraphReducer},122:function(module,exports){"use strict";function routesConfig($stateProvider,$locationProvider){$locationProvider.html5Mode(!1).hashPrefix("")}exports.__esModule=!0,exports["default"]=routesConfig},478:function(module,exports,__webpack_require__){"use strict";exports.__esModule=!0;var angular=__webpack_require__(48);__webpack_require__(47),__webpack_require__(46),__webpack_require__(45);var routes_1=__webpack_require__(122),fine_grained_graph_extension_1=__webpack_require__(121);angular.module("xos-ecord-local-gui-extension",["ui.router","app"]).config(routes_1["default"]).service("ECordFineGrainedGraphReducer",fine_grained_graph_extension_1.ECordFineGrainedGraphReducer).run(["$log","RCordGraphReducer",function($log, ECordFineGrainedGraphReducer){$log.info("[xos-ecord-local-gui-extension] App is running"),ECordFineGrainedGraphReducer.setup()}])}},[478]);
\ No newline at end of file
diff --git a/xos/gui/dist/extensions/ecord-local/index.html b/xos/gui/dist/extensions/ecord-local/index.html
new file mode 100644
index 0000000..5083e91
--- /dev/null
+++ b/xos/gui/dist/extensions/ecord-local/index.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html lang="en" ng-app="xos-ecord-local-gui-extension">
+<head><base href="/spa/">
+  <meta charset="UTF-8">
+  <title>Document</title>
+  <link href="http://192.168.46.100/spa/loader.css" rel="stylesheet">
+  <link href="http://192.168.46.100/spa/app.css" rel="stylesheet">
+</head>
+<body>
+  <div ui-view></div>
+  <script src="http://192.168.46.100/spa/vendor.js"></script>
+  <script src="http://192.168.46.100/spa/app.js"></script>
+  <script src="http://192.168.46.100/spa/loader.js"></script>
+  <script src="http://192.168.46.100/spa/app.config.js"></script>
+  <script src="http://192.168.46.100/spa/style.config.js"></script>
+<script type="text/javascript" src="/spa/vendor.js"></script><script type="text/javascript" src="/spa/app.js"></script></body>
+</html>
\ No newline at end of file
diff --git a/xos/gui/dist/extensions/ecord-local/style.config.js b/xos/gui/dist/extensions/ecord-local/style.config.js
new file mode 100644
index 0000000..6f7ebab
--- /dev/null
+++ b/xos/gui/dist/extensions/ecord-local/style.config.js
@@ -0,0 +1,22 @@
+angular.module('app')
+  .constant('StyleConfig', {
+    projectName: 'CORD',
+    favicon: 'cord-favicon.png',
+    background: 'cord-bg.jpg',
+    payoff: 'Your VNF orchestrator',
+    logo: 'cord-logo.png',
+    routes: [
+        {
+            label: 'Slices',
+            state: 'xos.core.slices'
+        },
+        {
+            label: 'Instances',
+            state: 'xos.core.instances'
+        },
+        {
+            label: 'Nodes',
+            state: 'xos.core.nodes'
+        }
+    ]
+});
diff --git a/xos/gui/dist/extensions/ecord-local/vendor.js b/xos/gui/dist/extensions/ecord-local/vendor.js
new file mode 100644
index 0000000..ef6d952
--- /dev/null
+++ b/xos/gui/dist/extensions/ecord-local/vendor.js
@@ -0,0 +1,127 @@
+!function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={i:moduleId,l:!1,exports:{}};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.l=!0,module.exports}var parentJsonpFunction=window.webpackJsonp;window.webpackJsonp=function(chunkIds,moreModules,executeModules){for(var moduleId,chunkId,result,i=0,resolves=[];i<chunkIds.length;i++)chunkId=chunkIds[i],installedChunks[chunkId]&&resolves.push(installedChunks[chunkId][0]),installedChunks[chunkId]=0;for(moduleId in moreModules)Object.prototype.hasOwnProperty.call(moreModules,moduleId)&&(modules[moduleId]=moreModules[moduleId]);for(parentJsonpFunction&&parentJsonpFunction(chunkIds,moreModules,executeModules);resolves.length;)resolves.shift()();if(executeModules)for(i=0;i<executeModules.length;i++)result=__webpack_require__(__webpack_require__.s=executeModules[i]);return result};var installedModules={},installedChunks={1:0};return __webpack_require__.e=function(chunkId){function onScriptComplete(){script.onerror=script.onload=null,clearTimeout(timeout);var chunk=installedChunks[chunkId];0!==chunk&&(chunk&&chunk[1](new Error("Loading chunk "+chunkId+" failed.")),installedChunks[chunkId]=void 0)}if(0===installedChunks[chunkId])return Promise.resolve();if(installedChunks[chunkId])return installedChunks[chunkId][2];var head=document.getElementsByTagName("head")[0],script=document.createElement("script");script.type="text/javascript",script.charset="utf-8",script.async=!0,script.timeout=12e4,script.src=__webpack_require__.p+""+chunkId+".js";var timeout=setTimeout(onScriptComplete,12e4);script.onerror=script.onload=onScriptComplete,head.appendChild(script);var promise=new Promise(function(resolve,reject){installedChunks[chunkId]=[resolve,reject]});return installedChunks[chunkId][2]=promise},__webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.i=function(value){return value},__webpack_require__.d=function(exports,name,getter){Object.defineProperty(exports,name,{configurable:!1,enumerable:!0,get:getter})},__webpack_require__.n=function(module){var getter=module&&module.__esModule?function(){return module["default"]}:function(){return module};return __webpack_require__.d(getter,"a",getter),getter},__webpack_require__.o=function(object,property){return Object.prototype.hasOwnProperty.call(object,property)},__webpack_require__.p="/spa/",__webpack_require__.oe=function(err){throw console.error(err),err},__webpack_require__(__webpack_require__.s=479)}([function(module,exports,__webpack_require__){"use strict";var root_1=__webpack_require__(8),toSubscriber_1=__webpack_require__(424),observable_1=__webpack_require__(32),Observable=function(){function Observable(subscribe){this._isScalar=!1,subscribe&&(this._subscribe=subscribe)}return Observable.prototype.lift=function(operator){var observable=new Observable;return observable.source=this,observable.operator=operator,observable},Observable.prototype.subscribe=function(observerOrNext,error,complete){var operator=this.operator,sink=toSubscriber_1.toSubscriber(observerOrNext,error,complete);if(operator?operator.call(sink,this.source):sink.add(this._trySubscribe(sink)),sink.syncErrorThrowable&&(sink.syncErrorThrowable=!1,sink.syncErrorThrown))throw sink.syncErrorValue;return sink},Observable.prototype._trySubscribe=function(sink){try{return this._subscribe(sink)}catch(err){sink.syncErrorThrown=!0,sink.syncErrorValue=err,sink.error(err)}},Observable.prototype.forEach=function(next,PromiseCtor){var _this=this;if(PromiseCtor||(root_1.root.Rx&&root_1.root.Rx.config&&root_1.root.Rx.config.Promise?PromiseCtor=root_1.root.Rx.config.Promise:root_1.root.Promise&&(PromiseCtor=root_1.root.Promise)),!PromiseCtor)throw new Error("no Promise impl found");return new PromiseCtor(function(resolve,reject){var subscription=_this.subscribe(function(value){if(subscription)try{next(value)}catch(err){reject(err),subscription.unsubscribe()}else next(value)},reject,resolve)})},Observable.prototype._subscribe=function(subscriber){return this.source.subscribe(subscriber)},Observable.prototype[observable_1.$$observable]=function(){return this},Observable.create=function(subscribe){return new Observable(subscribe)},Observable}();exports.Observable=Observable},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},isFunction_1=__webpack_require__(38),Subscription_1=__webpack_require__(5),Observer_1=__webpack_require__(71),rxSubscriber_1=__webpack_require__(33),Subscriber=function(_super){function Subscriber(destinationOrNext,error,complete){switch(_super.call(this),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=Observer_1.empty;break;case 1:if(!destinationOrNext){this.destination=Observer_1.empty;break}if("object"==typeof destinationOrNext){destinationOrNext instanceof Subscriber?(this.destination=destinationOrNext,this.destination.add(this)):(this.syncErrorThrowable=!0,this.destination=new SafeSubscriber(this,destinationOrNext));break}default:this.syncErrorThrowable=!0,this.destination=new SafeSubscriber(this,destinationOrNext,error,complete)}}return __extends(Subscriber,_super),Subscriber.prototype[rxSubscriber_1.$$rxSubscriber]=function(){return this},Subscriber.create=function(next,error,complete){var subscriber=new Subscriber(next,error,complete);return subscriber.syncErrorThrowable=!1,subscriber},Subscriber.prototype.next=function(value){this.isStopped||this._next(value)},Subscriber.prototype.error=function(err){this.isStopped||(this.isStopped=!0,this._error(err))},Subscriber.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},Subscriber.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,_super.prototype.unsubscribe.call(this))},Subscriber.prototype._next=function(value){this.destination.next(value)},Subscriber.prototype._error=function(err){this.destination.error(err),this.unsubscribe()},Subscriber.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},Subscriber.prototype._unsubscribeAndRecycle=function(){var _a=this,_parent=_a._parent,_parents=_a._parents;return this._parent=null,this._parents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parent=_parent,this._parents=_parents,this},Subscriber}(Subscription_1.Subscription);exports.Subscriber=Subscriber;var SafeSubscriber=function(_super){function SafeSubscriber(_parentSubscriber,observerOrNext,error,complete){_super.call(this),this._parentSubscriber=_parentSubscriber;var next,context=this;isFunction_1.isFunction(observerOrNext)?next=observerOrNext:observerOrNext&&(context=observerOrNext,next=observerOrNext.next,error=observerOrNext.error,complete=observerOrNext.complete,isFunction_1.isFunction(context.unsubscribe)&&this.add(context.unsubscribe.bind(context)),context.unsubscribe=this.unsubscribe.bind(this)),this._context=context,this._next=next,this._error=error,this._complete=complete}return __extends(SafeSubscriber,_super),SafeSubscriber.prototype.next=function(value){if(!this.isStopped&&this._next){var _parentSubscriber=this._parentSubscriber;_parentSubscriber.syncErrorThrowable?this.__tryOrSetError(_parentSubscriber,this._next,value)&&this.unsubscribe():this.__tryOrUnsub(this._next,value)}},SafeSubscriber.prototype.error=function(err){if(!this.isStopped){var _parentSubscriber=this._parentSubscriber;if(this._error)_parentSubscriber.syncErrorThrowable?(this.__tryOrSetError(_parentSubscriber,this._error,err),this.unsubscribe()):(this.__tryOrUnsub(this._error,err),this.unsubscribe());else{if(!_parentSubscriber.syncErrorThrowable)throw this.unsubscribe(),err;_parentSubscriber.syncErrorValue=err,_parentSubscriber.syncErrorThrown=!0,this.unsubscribe()}}},SafeSubscriber.prototype.complete=function(){if(!this.isStopped){var _parentSubscriber=this._parentSubscriber;this._complete?_parentSubscriber.syncErrorThrowable?(this.__tryOrSetError(_parentSubscriber,this._complete),this.unsubscribe()):(this.__tryOrUnsub(this._complete),this.unsubscribe()):this.unsubscribe()}},SafeSubscriber.prototype.__tryOrUnsub=function(fn,value){try{fn.call(this._context,value)}catch(err){throw this.unsubscribe(),err}},SafeSubscriber.prototype.__tryOrSetError=function(parent,fn,value){try{fn.call(this._context,value)}catch(err){return parent.syncErrorValue=err,parent.syncErrorThrown=!0,!0}return!1},SafeSubscriber.prototype._unsubscribe=function(){var _parentSubscriber=this._parentSubscriber;this._context=null,this._parentSubscriber=null,_parentSubscriber.unsubscribe()},SafeSubscriber}(Subscriber)},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),OuterSubscriber=function(_super){function OuterSubscriber(){_super.apply(this,arguments)}return __extends(OuterSubscriber,_super),OuterSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this.destination.next(innerValue)},OuterSubscriber.prototype.notifyError=function(error,innerSub){this.destination.error(error)},OuterSubscriber.prototype.notifyComplete=function(innerSub){this.destination.complete()},OuterSubscriber}(Subscriber_1.Subscriber);exports.OuterSubscriber=OuterSubscriber},function(module,exports,__webpack_require__){"use strict";function subscribeToResult(outerSubscriber,result,outerValue,outerIndex){var destination=new InnerSubscriber_1.InnerSubscriber(outerSubscriber,outerValue,outerIndex);if(destination.closed)return null;if(result instanceof Observable_1.Observable)return result._isScalar?(destination.next(result.value),destination.complete(),null):result.subscribe(destination);if(isArrayLike_1.isArrayLike(result)){for(var i=0,len=result.length;i<len&&!destination.closed;i++)destination.next(result[i]);destination.closed||destination.complete()}else{if(isPromise_1.isPromise(result))return result.then(function(value){destination.closed||(destination.next(value),destination.complete())},function(err){return destination.error(err)}).then(null,function(err){root_1.root.setTimeout(function(){throw err})}),destination;if(result&&"function"==typeof result[iterator_1.$$iterator])for(var iterator=result[iterator_1.$$iterator]();;){var item=iterator.next();if(item.done){destination.complete();break}if(destination.next(item.value),destination.closed)break}else if(result&&"function"==typeof result[observable_1.$$observable]){var obs=result[observable_1.$$observable]();if("function"==typeof obs.subscribe)return obs.subscribe(new InnerSubscriber_1.InnerSubscriber(outerSubscriber,outerValue,outerIndex));destination.error(new TypeError("Provided object does not correctly implement Symbol.observable"))}else{var value=isObject_1.isObject(result)?"an invalid object":"'"+result+"'",msg="You provided "+value+" where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.";destination.error(new TypeError(msg))}}return null}var root_1=__webpack_require__(8),isArrayLike_1=__webpack_require__(95),isPromise_1=__webpack_require__(97),isObject_1=__webpack_require__(96),Observable_1=__webpack_require__(0),iterator_1=__webpack_require__(25),InnerSubscriber_1=__webpack_require__(151),observable_1=__webpack_require__(32);exports.subscribeToResult=subscribeToResult},function(module,exports){var g;g=function(){return this}();try{g=g||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(g=window)}module.exports=g},function(module,exports,__webpack_require__){"use strict";function flattenUnsubscriptionErrors(errors){return errors.reduce(function(errs,err){return errs.concat(err instanceof UnsubscriptionError_1.UnsubscriptionError?err.errors:err)},[])}var isArray_1=__webpack_require__(14),isObject_1=__webpack_require__(96),isFunction_1=__webpack_require__(38),tryCatch_1=__webpack_require__(9),errorObject_1=__webpack_require__(7),UnsubscriptionError_1=__webpack_require__(93),Subscription=function(){function Subscription(unsubscribe){this.closed=!1,this._parent=null,this._parents=null,this._subscriptions=null,unsubscribe&&(this._unsubscribe=unsubscribe)}return Subscription.prototype.unsubscribe=function(){var errors,hasErrors=!1;if(!this.closed){var _a=this,_parent=_a._parent,_parents=_a._parents,_unsubscribe=_a._unsubscribe,_subscriptions=_a._subscriptions;this.closed=!0,this._parent=null,this._parents=null,this._subscriptions=null;for(var index=-1,len=_parents?_parents.length:0;_parent;)_parent.remove(this),_parent=++index<len&&_parents[index]||null;if(isFunction_1.isFunction(_unsubscribe)){var trial=tryCatch_1.tryCatch(_unsubscribe).call(this);trial===errorObject_1.errorObject&&(hasErrors=!0,errors=errors||(errorObject_1.errorObject.e instanceof UnsubscriptionError_1.UnsubscriptionError?flattenUnsubscriptionErrors(errorObject_1.errorObject.e.errors):[errorObject_1.errorObject.e]))}if(isArray_1.isArray(_subscriptions))for(index=-1,len=_subscriptions.length;++index<len;){var sub=_subscriptions[index];if(isObject_1.isObject(sub)){var trial=tryCatch_1.tryCatch(sub.unsubscribe).call(sub);if(trial===errorObject_1.errorObject){hasErrors=!0,errors=errors||[];var err=errorObject_1.errorObject.e;err instanceof UnsubscriptionError_1.UnsubscriptionError?errors=errors.concat(flattenUnsubscriptionErrors(err.errors)):errors.push(err)}}}if(hasErrors)throw new UnsubscriptionError_1.UnsubscriptionError(errors)}},Subscription.prototype.add=function(teardown){if(!teardown||teardown===Subscription.EMPTY)return Subscription.EMPTY;if(teardown===this)return this;var subscription=teardown;switch(typeof teardown){case"function":subscription=new Subscription(teardown);case"object":if(subscription.closed||"function"!=typeof subscription.unsubscribe)return subscription;if(this.closed)return subscription.unsubscribe(),subscription;if("function"!=typeof subscription._addParent){var tmp=subscription;subscription=new Subscription,subscription._subscriptions=[tmp]}break;default:throw new Error("unrecognized teardown "+teardown+" added to Subscription.")}var subscriptions=this._subscriptions||(this._subscriptions=[]);return subscriptions.push(subscription),subscription._addParent(this),subscription},Subscription.prototype.remove=function(subscription){var subscriptions=this._subscriptions;if(subscriptions){var subscriptionIndex=subscriptions.indexOf(subscription);subscriptionIndex!==-1&&subscriptions.splice(subscriptionIndex,1)}},Subscription.prototype._addParent=function(parent){var _a=this,_parent=_a._parent,_parents=_a._parents;_parent&&_parent!==parent?_parents?_parents.indexOf(parent)===-1&&_parents.push(parent):this._parents=[parent]:this._parent=parent},Subscription.EMPTY=function(empty){return empty.closed=!0,empty}(new Subscription),Subscription}();exports.Subscription=Subscription},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),Subscriber_1=__webpack_require__(1),Subscription_1=__webpack_require__(5),ObjectUnsubscribedError_1=__webpack_require__(36),SubjectSubscription_1=__webpack_require__(72),rxSubscriber_1=__webpack_require__(33),SubjectSubscriber=function(_super){function SubjectSubscriber(destination){_super.call(this,destination),this.destination=destination}return __extends(SubjectSubscriber,_super),SubjectSubscriber}(Subscriber_1.Subscriber);exports.SubjectSubscriber=SubjectSubscriber;var Subject=function(_super){function Subject(){_super.call(this),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}return __extends(Subject,_super),Subject.prototype[rxSubscriber_1.$$rxSubscriber]=function(){return new SubjectSubscriber(this)},Subject.prototype.lift=function(operator){var subject=new AnonymousSubject(this,this);return subject.operator=operator,subject},Subject.prototype.next=function(value){if(this.closed)throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError;if(!this.isStopped)for(var observers=this.observers,len=observers.length,copy=observers.slice(),i=0;i<len;i++)copy[i].next(value)},Subject.prototype.error=function(err){if(this.closed)throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError;this.hasError=!0,this.thrownError=err,this.isStopped=!0;for(var observers=this.observers,len=observers.length,copy=observers.slice(),i=0;i<len;i++)copy[i].error(err);this.observers.length=0},Subject.prototype.complete=function(){if(this.closed)throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError;this.isStopped=!0;for(var observers=this.observers,len=observers.length,copy=observers.slice(),i=0;i<len;i++)copy[i].complete();this.observers.length=0},Subject.prototype.unsubscribe=function(){this.isStopped=!0,this.closed=!0,this.observers=null},Subject.prototype._trySubscribe=function(subscriber){if(this.closed)throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError;return _super.prototype._trySubscribe.call(this,subscriber)},Subject.prototype._subscribe=function(subscriber){if(this.closed)throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError;return this.hasError?(subscriber.error(this.thrownError),Subscription_1.Subscription.EMPTY):this.isStopped?(subscriber.complete(),Subscription_1.Subscription.EMPTY):(this.observers.push(subscriber),new SubjectSubscription_1.SubjectSubscription(this,subscriber))},Subject.prototype.asObservable=function(){var observable=new Observable_1.Observable;return observable.source=this,observable},Subject.create=function(destination,source){return new AnonymousSubject(destination,source)},Subject}(Observable_1.Observable);exports.Subject=Subject;var AnonymousSubject=function(_super){function AnonymousSubject(destination,source){_super.call(this),this.destination=destination,this.source=source}return __extends(AnonymousSubject,_super),AnonymousSubject.prototype.next=function(value){var destination=this.destination;destination&&destination.next&&destination.next(value)},AnonymousSubject.prototype.error=function(err){var destination=this.destination;destination&&destination.error&&this.destination.error(err)},AnonymousSubject.prototype.complete=function(){var destination=this.destination;destination&&destination.complete&&this.destination.complete()},AnonymousSubject.prototype._subscribe=function(subscriber){var source=this.source;return source?this.source.subscribe(subscriber):Subscription_1.Subscription.EMPTY},AnonymousSubject}(Subject);exports.AnonymousSubject=AnonymousSubject},function(module,exports){"use strict";exports.errorObject={e:{}}},function(module,exports,__webpack_require__){"use strict";(function(global){if(exports.root="object"==typeof window&&window.window===window&&window||"object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global,!exports.root)throw new Error("RxJS could not find any global context (window, self, global)")}).call(exports,__webpack_require__(4))},function(module,exports,__webpack_require__){"use strict";function tryCatcher(){try{return tryCatchTarget.apply(this,arguments)}catch(e){return errorObject_1.errorObject.e=e,errorObject_1.errorObject}}function tryCatch(fn){return tryCatchTarget=fn,tryCatcher}var tryCatchTarget,errorObject_1=__webpack_require__(7);exports.tryCatch=tryCatch},function(module,exports,__webpack_require__){"use strict";var AsyncAction_1=__webpack_require__(23),AsyncScheduler_1=__webpack_require__(24);exports.async=new AsyncScheduler_1.AsyncScheduler(AsyncAction_1.AsyncAction)},function(module,exports,__webpack_require__){var __WEBPACK_AMD_DEFINE_ARRAY__,__WEBPACK_AMD_DEFINE_RESULT__;/*!
+ * jQuery JavaScript Library v3.1.1
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2016-09-22T22:30Z
+ */
+!function(global,factory){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=global.document?factory(global,!0):function(w){if(!w.document)throw new Error("jQuery requires a window with a document");return factory(w)}:factory(global)}("undefined"!=typeof window?window:this,function(window,noGlobal){"use strict";function DOMEval(code,doc){doc=doc||document;var script=doc.createElement("script");script.text=code,doc.head.appendChild(script).parentNode.removeChild(script)}function isArrayLike(obj){var length=!!obj&&"length"in obj&&obj.length,type=jQuery.type(obj);return"function"!==type&&!jQuery.isWindow(obj)&&("array"===type||0===length||"number"==typeof length&&length>0&&length-1 in obj)}function winnow(elements,qualifier,not){return jQuery.isFunction(qualifier)?jQuery.grep(elements,function(elem,i){return!!qualifier.call(elem,i,elem)!==not}):qualifier.nodeType?jQuery.grep(elements,function(elem){return elem===qualifier!==not}):"string"!=typeof qualifier?jQuery.grep(elements,function(elem){return indexOf.call(qualifier,elem)>-1!==not}):risSimple.test(qualifier)?jQuery.filter(qualifier,elements,not):(qualifier=jQuery.filter(qualifier,elements),jQuery.grep(elements,function(elem){return indexOf.call(qualifier,elem)>-1!==not&&1===elem.nodeType}))}function sibling(cur,dir){for(;(cur=cur[dir])&&1!==cur.nodeType;);return cur}function createOptions(options){var object={};return jQuery.each(options.match(rnothtmlwhite)||[],function(_,flag){object[flag]=!0}),object}function Identity(v){return v}function Thrower(ex){throw ex}function adoptValue(value,resolve,reject){var method;try{value&&jQuery.isFunction(method=value.promise)?method.call(value).done(resolve).fail(reject):value&&jQuery.isFunction(method=value.then)?method.call(value,resolve,reject):resolve.call(void 0,value)}catch(value){reject.call(void 0,value)}}function completed(){document.removeEventListener("DOMContentLoaded",completed),window.removeEventListener("load",completed),jQuery.ready()}function Data(){this.expando=jQuery.expando+Data.uid++}function getData(data){return"true"===data||"false"!==data&&("null"===data?null:data===+data+""?+data:rbrace.test(data)?JSON.parse(data):data)}function dataAttr(elem,key,data){var name;if(void 0===data&&1===elem.nodeType)if(name="data-"+key.replace(rmultiDash,"-$&").toLowerCase(),data=elem.getAttribute(name),"string"==typeof data){try{data=getData(data)}catch(e){}dataUser.set(elem,key,data)}else data=void 0;return data}function adjustCSS(elem,prop,valueParts,tween){var adjusted,scale=1,maxIterations=20,currentValue=tween?function(){return tween.cur()}:function(){return jQuery.css(elem,prop,"")},initial=currentValue(),unit=valueParts&&valueParts[3]||(jQuery.cssNumber[prop]?"":"px"),initialInUnit=(jQuery.cssNumber[prop]||"px"!==unit&&+initial)&&rcssNum.exec(jQuery.css(elem,prop));if(initialInUnit&&initialInUnit[3]!==unit){unit=unit||initialInUnit[3],valueParts=valueParts||[],initialInUnit=+initial||1;do scale=scale||".5",initialInUnit/=scale,jQuery.style(elem,prop,initialInUnit+unit);while(scale!==(scale=currentValue()/initial)&&1!==scale&&--maxIterations)}return valueParts&&(initialInUnit=+initialInUnit||+initial||0,adjusted=valueParts[1]?initialInUnit+(valueParts[1]+1)*valueParts[2]:+valueParts[2],tween&&(tween.unit=unit,tween.start=initialInUnit,tween.end=adjusted)),adjusted}function getDefaultDisplay(elem){var temp,doc=elem.ownerDocument,nodeName=elem.nodeName,display=defaultDisplayMap[nodeName];return display?display:(temp=doc.body.appendChild(doc.createElement(nodeName)),display=jQuery.css(temp,"display"),temp.parentNode.removeChild(temp),"none"===display&&(display="block"),defaultDisplayMap[nodeName]=display,display)}function showHide(elements,show){for(var display,elem,values=[],index=0,length=elements.length;index<length;index++)elem=elements[index],elem.style&&(display=elem.style.display,show?("none"===display&&(values[index]=dataPriv.get(elem,"display")||null,values[index]||(elem.style.display="")),""===elem.style.display&&isHiddenWithinTree(elem)&&(values[index]=getDefaultDisplay(elem))):"none"!==display&&(values[index]="none",dataPriv.set(elem,"display",display)));for(index=0;index<length;index++)null!=values[index]&&(elements[index].style.display=values[index]);return elements}function getAll(context,tag){var ret;return ret="undefined"!=typeof context.getElementsByTagName?context.getElementsByTagName(tag||"*"):"undefined"!=typeof context.querySelectorAll?context.querySelectorAll(tag||"*"):[],void 0===tag||tag&&jQuery.nodeName(context,tag)?jQuery.merge([context],ret):ret}function setGlobalEval(elems,refElements){for(var i=0,l=elems.length;i<l;i++)dataPriv.set(elems[i],"globalEval",!refElements||dataPriv.get(refElements[i],"globalEval"))}function buildFragment(elems,context,scripts,selection,ignored){for(var elem,tmp,tag,wrap,contains,j,fragment=context.createDocumentFragment(),nodes=[],i=0,l=elems.length;i<l;i++)if(elem=elems[i],elem||0===elem)if("object"===jQuery.type(elem))jQuery.merge(nodes,elem.nodeType?[elem]:elem);else if(rhtml.test(elem)){for(tmp=tmp||fragment.appendChild(context.createElement("div")),tag=(rtagName.exec(elem)||["",""])[1].toLowerCase(),wrap=wrapMap[tag]||wrapMap._default,tmp.innerHTML=wrap[1]+jQuery.htmlPrefilter(elem)+wrap[2],j=wrap[0];j--;)tmp=tmp.lastChild;jQuery.merge(nodes,tmp.childNodes),tmp=fragment.firstChild,tmp.textContent=""}else nodes.push(context.createTextNode(elem));for(fragment.textContent="",i=0;elem=nodes[i++];)if(selection&&jQuery.inArray(elem,selection)>-1)ignored&&ignored.push(elem);else if(contains=jQuery.contains(elem.ownerDocument,elem),tmp=getAll(fragment.appendChild(elem),"script"),contains&&setGlobalEval(tmp),scripts)for(j=0;elem=tmp[j++];)rscriptType.test(elem.type||"")&&scripts.push(elem);return fragment}function returnTrue(){return!0}function returnFalse(){return!1}function safeActiveElement(){try{return document.activeElement}catch(err){}}function on(elem,types,selector,data,fn,one){var origFn,type;if("object"==typeof types){"string"!=typeof selector&&(data=data||selector,selector=void 0);for(type in types)on(elem,type,selector,data,types[type],one);return elem}if(null==data&&null==fn?(fn=selector,data=selector=void 0):null==fn&&("string"==typeof selector?(fn=data,data=void 0):(fn=data,data=selector,selector=void 0)),fn===!1)fn=returnFalse;else if(!fn)return elem;return 1===one&&(origFn=fn,fn=function(event){return jQuery().off(event),origFn.apply(this,arguments)},fn.guid=origFn.guid||(origFn.guid=jQuery.guid++)),elem.each(function(){jQuery.event.add(this,types,fn,data,selector)})}function manipulationTarget(elem,content){return jQuery.nodeName(elem,"table")&&jQuery.nodeName(11!==content.nodeType?content:content.firstChild,"tr")?elem.getElementsByTagName("tbody")[0]||elem:elem}function disableScript(elem){return elem.type=(null!==elem.getAttribute("type"))+"/"+elem.type,elem}function restoreScript(elem){var match=rscriptTypeMasked.exec(elem.type);return match?elem.type=match[1]:elem.removeAttribute("type"),elem}function cloneCopyEvent(src,dest){var i,l,type,pdataOld,pdataCur,udataOld,udataCur,events;if(1===dest.nodeType){if(dataPriv.hasData(src)&&(pdataOld=dataPriv.access(src),pdataCur=dataPriv.set(dest,pdataOld),events=pdataOld.events)){delete pdataCur.handle,pdataCur.events={};for(type in events)for(i=0,l=events[type].length;i<l;i++)jQuery.event.add(dest,type,events[type][i])}dataUser.hasData(src)&&(udataOld=dataUser.access(src),udataCur=jQuery.extend({},udataOld),dataUser.set(dest,udataCur))}}function fixInput(src,dest){var nodeName=dest.nodeName.toLowerCase();"input"===nodeName&&rcheckableType.test(src.type)?dest.checked=src.checked:"input"!==nodeName&&"textarea"!==nodeName||(dest.defaultValue=src.defaultValue)}function domManip(collection,args,callback,ignored){args=concat.apply([],args);var fragment,first,scripts,hasScripts,node,doc,i=0,l=collection.length,iNoClone=l-1,value=args[0],isFunction=jQuery.isFunction(value);if(isFunction||l>1&&"string"==typeof value&&!support.checkClone&&rchecked.test(value))return collection.each(function(index){var self=collection.eq(index);isFunction&&(args[0]=value.call(this,index,self.html())),domManip(self,args,callback,ignored)});if(l&&(fragment=buildFragment(args,collection[0].ownerDocument,!1,collection,ignored),first=fragment.firstChild,1===fragment.childNodes.length&&(fragment=first),first||ignored)){for(scripts=jQuery.map(getAll(fragment,"script"),disableScript),hasScripts=scripts.length;i<l;i++)node=fragment,i!==iNoClone&&(node=jQuery.clone(node,!0,!0),hasScripts&&jQuery.merge(scripts,getAll(node,"script"))),callback.call(collection[i],node,i);if(hasScripts)for(doc=scripts[scripts.length-1].ownerDocument,jQuery.map(scripts,restoreScript),i=0;i<hasScripts;i++)node=scripts[i],rscriptType.test(node.type||"")&&!dataPriv.access(node,"globalEval")&&jQuery.contains(doc,node)&&(node.src?jQuery._evalUrl&&jQuery._evalUrl(node.src):DOMEval(node.textContent.replace(rcleanScript,""),doc))}return collection}function remove(elem,selector,keepData){for(var node,nodes=selector?jQuery.filter(selector,elem):elem,i=0;null!=(node=nodes[i]);i++)keepData||1!==node.nodeType||jQuery.cleanData(getAll(node)),node.parentNode&&(keepData&&jQuery.contains(node.ownerDocument,node)&&setGlobalEval(getAll(node,"script")),node.parentNode.removeChild(node));return elem}function curCSS(elem,name,computed){var width,minWidth,maxWidth,ret,style=elem.style;return computed=computed||getStyles(elem),computed&&(ret=computed.getPropertyValue(name)||computed[name],""!==ret||jQuery.contains(elem.ownerDocument,elem)||(ret=jQuery.style(elem,name)),!support.pixelMarginRight()&&rnumnonpx.test(ret)&&rmargin.test(name)&&(width=style.width,minWidth=style.minWidth,maxWidth=style.maxWidth,style.minWidth=style.maxWidth=style.width=ret,ret=computed.width,style.width=width,style.minWidth=minWidth,style.maxWidth=maxWidth)),void 0!==ret?ret+"":ret}function addGetHookIf(conditionFn,hookFn){return{get:function(){return conditionFn()?void delete this.get:(this.get=hookFn).apply(this,arguments)}}}function vendorPropName(name){if(name in emptyStyle)return name;for(var capName=name[0].toUpperCase()+name.slice(1),i=cssPrefixes.length;i--;)if(name=cssPrefixes[i]+capName,name in emptyStyle)return name}function setPositiveNumber(elem,value,subtract){var matches=rcssNum.exec(value);return matches?Math.max(0,matches[2]-(subtract||0))+(matches[3]||"px"):value}function augmentWidthOrHeight(elem,name,extra,isBorderBox,styles){var i,val=0;for(i=extra===(isBorderBox?"border":"content")?4:"width"===name?1:0;i<4;i+=2)"margin"===extra&&(val+=jQuery.css(elem,extra+cssExpand[i],!0,styles)),isBorderBox?("content"===extra&&(val-=jQuery.css(elem,"padding"+cssExpand[i],!0,styles)),"margin"!==extra&&(val-=jQuery.css(elem,"border"+cssExpand[i]+"Width",!0,styles))):(val+=jQuery.css(elem,"padding"+cssExpand[i],!0,styles),"padding"!==extra&&(val+=jQuery.css(elem,"border"+cssExpand[i]+"Width",!0,styles)));return val}function getWidthOrHeight(elem,name,extra){var val,valueIsBorderBox=!0,styles=getStyles(elem),isBorderBox="border-box"===jQuery.css(elem,"boxSizing",!1,styles);if(elem.getClientRects().length&&(val=elem.getBoundingClientRect()[name]),val<=0||null==val){if(val=curCSS(elem,name,styles),(val<0||null==val)&&(val=elem.style[name]),rnumnonpx.test(val))return val;valueIsBorderBox=isBorderBox&&(support.boxSizingReliable()||val===elem.style[name]),val=parseFloat(val)||0}return val+augmentWidthOrHeight(elem,name,extra||(isBorderBox?"border":"content"),valueIsBorderBox,styles)+"px"}function Tween(elem,options,prop,end,easing){return new Tween.prototype.init(elem,options,prop,end,easing)}function raf(){timerId&&(window.requestAnimationFrame(raf),jQuery.fx.tick())}function createFxNow(){return window.setTimeout(function(){fxNow=void 0}),fxNow=jQuery.now()}function genFx(type,includeWidth){var which,i=0,attrs={height:type};for(includeWidth=includeWidth?1:0;i<4;i+=2-includeWidth)which=cssExpand[i],attrs["margin"+which]=attrs["padding"+which]=type;return includeWidth&&(attrs.opacity=attrs.width=type),attrs}function createTween(value,prop,animation){for(var tween,collection=(Animation.tweeners[prop]||[]).concat(Animation.tweeners["*"]),index=0,length=collection.length;index<length;index++)if(tween=collection[index].call(animation,prop,value))return tween}function defaultPrefilter(elem,props,opts){var prop,value,toggle,hooks,oldfire,propTween,restoreDisplay,display,isBox="width"in props||"height"in props,anim=this,orig={},style=elem.style,hidden=elem.nodeType&&isHiddenWithinTree(elem),dataShow=dataPriv.get(elem,"fxshow");opts.queue||(hooks=jQuery._queueHooks(elem,"fx"),null==hooks.unqueued&&(hooks.unqueued=0,oldfire=hooks.empty.fire,hooks.empty.fire=function(){hooks.unqueued||oldfire()}),hooks.unqueued++,anim.always(function(){anim.always(function(){hooks.unqueued--,jQuery.queue(elem,"fx").length||hooks.empty.fire()})}));for(prop in props)if(value=props[prop],rfxtypes.test(value)){if(delete props[prop],toggle=toggle||"toggle"===value,value===(hidden?"hide":"show")){if("show"!==value||!dataShow||void 0===dataShow[prop])continue;hidden=!0}orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop)}if(propTween=!jQuery.isEmptyObject(props),propTween||!jQuery.isEmptyObject(orig)){isBox&&1===elem.nodeType&&(opts.overflow=[style.overflow,style.overflowX,style.overflowY],restoreDisplay=dataShow&&dataShow.display,null==restoreDisplay&&(restoreDisplay=dataPriv.get(elem,"display")),display=jQuery.css(elem,"display"),"none"===display&&(restoreDisplay?display=restoreDisplay:(showHide([elem],!0),restoreDisplay=elem.style.display||restoreDisplay,display=jQuery.css(elem,"display"),showHide([elem]))),("inline"===display||"inline-block"===display&&null!=restoreDisplay)&&"none"===jQuery.css(elem,"float")&&(propTween||(anim.done(function(){style.display=restoreDisplay}),null==restoreDisplay&&(display=style.display,restoreDisplay="none"===display?"":display)),style.display="inline-block")),opts.overflow&&(style.overflow="hidden",anim.always(function(){style.overflow=opts.overflow[0],style.overflowX=opts.overflow[1],style.overflowY=opts.overflow[2]})),propTween=!1;for(prop in orig)propTween||(dataShow?"hidden"in dataShow&&(hidden=dataShow.hidden):dataShow=dataPriv.access(elem,"fxshow",{display:restoreDisplay}),toggle&&(dataShow.hidden=!hidden),hidden&&showHide([elem],!0),anim.done(function(){hidden||showHide([elem]),dataPriv.remove(elem,"fxshow");for(prop in orig)jQuery.style(elem,prop,orig[prop])})),propTween=createTween(hidden?dataShow[prop]:0,prop,anim),prop in dataShow||(dataShow[prop]=propTween.start,hidden&&(propTween.end=propTween.start,propTween.start=0))}}function propFilter(props,specialEasing){var index,name,easing,value,hooks;for(index in props)if(name=jQuery.camelCase(index),easing=specialEasing[name],value=props[index],jQuery.isArray(value)&&(easing=value[1],value=props[index]=value[0]),index!==name&&(props[name]=value,delete props[index]),hooks=jQuery.cssHooks[name],hooks&&"expand"in hooks){value=hooks.expand(value),delete props[name];for(index in value)index in props||(props[index]=value[index],specialEasing[index]=easing)}else specialEasing[name]=easing}function Animation(elem,properties,options){var result,stopped,index=0,length=Animation.prefilters.length,deferred=jQuery.Deferred().always(function(){delete tick.elem}),tick=function(){if(stopped)return!1;for(var currentTime=fxNow||createFxNow(),remaining=Math.max(0,animation.startTime+animation.duration-currentTime),temp=remaining/animation.duration||0,percent=1-temp,index=0,length=animation.tweens.length;index<length;index++)animation.tweens[index].run(percent);return deferred.notifyWith(elem,[animation,percent,remaining]),percent<1&&length?remaining:(deferred.resolveWith(elem,[animation]),!1)},animation=deferred.promise({elem:elem,props:jQuery.extend({},properties),opts:jQuery.extend(!0,{specialEasing:{},easing:jQuery.easing._default},options),originalProperties:properties,originalOptions:options,startTime:fxNow||createFxNow(),duration:options.duration,tweens:[],createTween:function(prop,end){var tween=jQuery.Tween(elem,animation.opts,prop,end,animation.opts.specialEasing[prop]||animation.opts.easing);return animation.tweens.push(tween),tween},stop:function(gotoEnd){var index=0,length=gotoEnd?animation.tweens.length:0;if(stopped)return this;for(stopped=!0;index<length;index++)animation.tweens[index].run(1);return gotoEnd?(deferred.notifyWith(elem,[animation,1,0]),deferred.resolveWith(elem,[animation,gotoEnd])):deferred.rejectWith(elem,[animation,gotoEnd]),this}}),props=animation.props;for(propFilter(props,animation.opts.specialEasing);index<length;index++)if(result=Animation.prefilters[index].call(animation,elem,props,animation.opts))return jQuery.isFunction(result.stop)&&(jQuery._queueHooks(animation.elem,animation.opts.queue).stop=jQuery.proxy(result.stop,result)),result;return jQuery.map(props,createTween,animation),jQuery.isFunction(animation.opts.start)&&animation.opts.start.call(elem,animation),jQuery.fx.timer(jQuery.extend(tick,{elem:elem,anim:animation,queue:animation.opts.queue})),animation.progress(animation.opts.progress).done(animation.opts.done,animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always)}function stripAndCollapse(value){var tokens=value.match(rnothtmlwhite)||[];return tokens.join(" ")}function getClass(elem){return elem.getAttribute&&elem.getAttribute("class")||""}function buildParams(prefix,obj,traditional,add){var name;if(jQuery.isArray(obj))jQuery.each(obj,function(i,v){traditional||rbracket.test(prefix)?add(prefix,v):buildParams(prefix+"["+("object"==typeof v&&null!=v?i:"")+"]",v,traditional,add)});else if(traditional||"object"!==jQuery.type(obj))add(prefix,obj);else for(name in obj)buildParams(prefix+"["+name+"]",obj[name],traditional,add)}function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){"string"!=typeof dataTypeExpression&&(func=dataTypeExpression,dataTypeExpression="*");var dataType,i=0,dataTypes=dataTypeExpression.toLowerCase().match(rnothtmlwhite)||[];if(jQuery.isFunction(func))for(;dataType=dataTypes[i++];)"+"===dataType[0]?(dataType=dataType.slice(1)||"*",(structure[dataType]=structure[dataType]||[]).unshift(func)):(structure[dataType]=structure[dataType]||[]).push(func)}}function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){function inspect(dataType){var selected;return inspected[dataType]=!0,jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);return"string"!=typeof dataTypeOrTransport||seekingTransport||inspected[dataTypeOrTransport]?seekingTransport?!(selected=dataTypeOrTransport):void 0:(options.dataTypes.unshift(dataTypeOrTransport),inspect(dataTypeOrTransport),!1)}),selected}var inspected={},seekingTransport=structure===transports;return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*")}function ajaxExtend(target,src){var key,deep,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src)void 0!==src[key]&&((flatOptions[key]?target:deep||(deep={}))[key]=src[key]);return deep&&jQuery.extend(!0,target,deep),target}function ajaxHandleResponses(s,jqXHR,responses){for(var ct,type,finalDataType,firstDataType,contents=s.contents,dataTypes=s.dataTypes;"*"===dataTypes[0];)dataTypes.shift(),void 0===ct&&(ct=s.mimeType||jqXHR.getResponseHeader("Content-Type"));if(ct)for(type in contents)if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break}if(dataTypes[0]in responses)finalDataType=dataTypes[0];else{for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break}firstDataType||(firstDataType=type)}finalDataType=finalDataType||firstDataType}if(finalDataType)return finalDataType!==dataTypes[0]&&dataTypes.unshift(finalDataType),responses[finalDataType]}function ajaxConvert(s,response,jqXHR,isSuccess){var conv2,current,conv,tmp,prev,converters={},dataTypes=s.dataTypes.slice();if(dataTypes[1])for(conv in s.converters)converters[conv.toLowerCase()]=s.converters[conv];for(current=dataTypes.shift();current;)if(s.responseFields[current]&&(jqXHR[s.responseFields[current]]=response),!prev&&isSuccess&&s.dataFilter&&(response=s.dataFilter(response,s.dataType)),prev=current,current=dataTypes.shift())if("*"===current)current=prev;else if("*"!==prev&&prev!==current){if(conv=converters[prev+" "+current]||converters["* "+current],!conv)for(conv2 in converters)if(tmp=conv2.split(" "),tmp[1]===current&&(conv=converters[prev+" "+tmp[0]]||converters["* "+tmp[0]])){conv===!0?conv=converters[conv2]:converters[conv2]!==!0&&(current=tmp[0],dataTypes.unshift(tmp[1]));break}if(conv!==!0)if(conv&&s["throws"])response=conv(response);else try{response=conv(response)}catch(e){return{state:"parsererror",error:conv?e:"No conversion from "+prev+" to "+current}}}return{state:"success",data:response}}function getWindow(elem){return jQuery.isWindow(elem)?elem:9===elem.nodeType&&elem.defaultView}var arr=[],document=window.document,getProto=Object.getPrototypeOf,slice=arr.slice,concat=arr.concat,push=arr.push,indexOf=arr.indexOf,class2type={},toString=class2type.toString,hasOwn=class2type.hasOwnProperty,fnToString=hasOwn.toString,ObjectFunctionString=fnToString.call(Object),support={},version="3.1.1",jQuery=function(selector,context){return new jQuery.fn.init(selector,context)},rtrim=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,rmsPrefix=/^-ms-/,rdashAlpha=/-([a-z])/g,fcamelCase=function(all,letter){return letter.toUpperCase()};jQuery.fn=jQuery.prototype={jquery:version,constructor:jQuery,length:0,toArray:function(){return slice.call(this)},get:function(num){return null==num?slice.call(this):num<0?this[num+this.length]:this[num]},pushStack:function(elems){var ret=jQuery.merge(this.constructor(),elems);return ret.prevObject=this,ret},each:function(callback){return jQuery.each(this,callback)},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem)}))},slice:function(){return this.pushStack(slice.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(i){var len=this.length,j=+i+(i<0?len:0);return this.pushStack(j>=0&&j<len?[this[j]]:[])},end:function(){return this.prevObject||this.constructor()},push:push,sort:arr.sort,splice:arr.splice},jQuery.extend=jQuery.fn.extend=function(){var options,name,src,copy,copyIsArray,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=!1;for("boolean"==typeof target&&(deep=target,target=arguments[i]||{},i++),"object"==typeof target||jQuery.isFunction(target)||(target={}),i===length&&(target=this,i--);i<length;i++)if(null!=(options=arguments[i]))for(name in options)src=target[name],copy=options[name],target!==copy&&(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))?(copyIsArray?(copyIsArray=!1,clone=src&&jQuery.isArray(src)?src:[]):clone=src&&jQuery.isPlainObject(src)?src:{},target[name]=jQuery.extend(deep,clone,copy)):void 0!==copy&&(target[name]=copy));return target},jQuery.extend({expando:"jQuery"+(version+Math.random()).replace(/\D/g,""),isReady:!0,error:function(msg){throw new Error(msg)},noop:function(){},isFunction:function(obj){return"function"===jQuery.type(obj)},isArray:Array.isArray,isWindow:function(obj){return null!=obj&&obj===obj.window},isNumeric:function(obj){var type=jQuery.type(obj);return("number"===type||"string"===type)&&!isNaN(obj-parseFloat(obj))},isPlainObject:function(obj){var proto,Ctor;return!(!obj||"[object Object]"!==toString.call(obj))&&(!(proto=getProto(obj))||(Ctor=hasOwn.call(proto,"constructor")&&proto.constructor,"function"==typeof Ctor&&fnToString.call(Ctor)===ObjectFunctionString))},isEmptyObject:function(obj){var name;for(name in obj)return!1;return!0},type:function(obj){return null==obj?obj+"":"object"==typeof obj||"function"==typeof obj?class2type[toString.call(obj)]||"object":typeof obj},globalEval:function(code){DOMEval(code)},camelCase:function(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase)},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase()},each:function(obj,callback){var length,i=0;if(isArrayLike(obj))for(length=obj.length;i<length&&callback.call(obj[i],i,obj[i])!==!1;i++);else for(i in obj)if(callback.call(obj[i],i,obj[i])===!1)break;return obj},trim:function(text){return null==text?"":(text+"").replace(rtrim,"")},makeArray:function(arr,results){var ret=results||[];return null!=arr&&(isArrayLike(Object(arr))?jQuery.merge(ret,"string"==typeof arr?[arr]:arr):push.call(ret,arr)),ret},inArray:function(elem,arr,i){return null==arr?-1:indexOf.call(arr,elem,i)},merge:function(first,second){for(var len=+second.length,j=0,i=first.length;j<len;j++)first[i++]=second[j];return first.length=i,first},grep:function(elems,callback,invert){for(var callbackInverse,matches=[],i=0,length=elems.length,callbackExpect=!invert;i<length;i++)callbackInverse=!callback(elems[i],i),callbackInverse!==callbackExpect&&matches.push(elems[i]);return matches},map:function(elems,callback,arg){var length,value,i=0,ret=[];if(isArrayLike(elems))for(length=elems.length;i<length;i++)value=callback(elems[i],i,arg),null!=value&&ret.push(value);else for(i in elems)value=callback(elems[i],i,arg),null!=value&&ret.push(value);return concat.apply([],ret)},guid:1,proxy:function(fn,context){var tmp,args,proxy;if("string"==typeof context&&(tmp=fn[context],context=fn,fn=tmp),jQuery.isFunction(fn))return args=slice.call(arguments,2),proxy=function(){return fn.apply(context||this,args.concat(slice.call(arguments)))},proxy.guid=fn.guid=fn.guid||jQuery.guid++,proxy},now:Date.now,support:support}),"function"==typeof Symbol&&(jQuery.fn[Symbol.iterator]=arr[Symbol.iterator]),jQuery.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase()});var Sizzle=/*!
+ * Sizzle CSS Selector Engine v2.3.3
+ * https://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2016-08-08
+ */
+function(window){function Sizzle(selector,context,results,seed){var m,i,elem,nid,match,groups,newSelector,newContext=context&&context.ownerDocument,nodeType=context?context.nodeType:9;if(results=results||[],"string"!=typeof selector||!selector||1!==nodeType&&9!==nodeType&&11!==nodeType)return results;if(!seed&&((context?context.ownerDocument||context:preferredDoc)!==document&&setDocument(context),context=context||document,documentIsHTML)){if(11!==nodeType&&(match=rquickExpr.exec(selector)))if(m=match[1]){if(9===nodeType){if(!(elem=context.getElementById(m)))return results;if(elem.id===m)return results.push(elem),results}else if(newContext&&(elem=newContext.getElementById(m))&&contains(context,elem)&&elem.id===m)return results.push(elem),results}else{if(match[2])return push.apply(results,context.getElementsByTagName(selector)),results;if((m=match[3])&&support.getElementsByClassName&&context.getElementsByClassName)return push.apply(results,context.getElementsByClassName(m)),results}if(support.qsa&&!compilerCache[selector+" "]&&(!rbuggyQSA||!rbuggyQSA.test(selector))){if(1!==nodeType)newContext=context,newSelector=selector;else if("object"!==context.nodeName.toLowerCase()){for((nid=context.getAttribute("id"))?nid=nid.replace(rcssescape,fcssescape):context.setAttribute("id",nid=expando),groups=tokenize(selector),i=groups.length;i--;)groups[i]="#"+nid+" "+toSelector(groups[i]);newSelector=groups.join(","),newContext=rsibling.test(selector)&&testContext(context.parentNode)||context}if(newSelector)try{return push.apply(results,newContext.querySelectorAll(newSelector)),results}catch(qsaError){}finally{nid===expando&&context.removeAttribute("id")}}}return select(selector.replace(rtrim,"$1"),context,results,seed)}function createCache(){function cache(key,value){return keys.push(key+" ")>Expr.cacheLength&&delete cache[keys.shift()],cache[key+" "]=value}var keys=[];return cache}function markFunction(fn){return fn[expando]=!0,fn}function assert(fn){var el=document.createElement("fieldset");try{return!!fn(el)}catch(e){return!1}finally{el.parentNode&&el.parentNode.removeChild(el),el=null}}function addHandle(attrs,handler){for(var arr=attrs.split("|"),i=arr.length;i--;)Expr.attrHandle[arr[i]]=handler}function siblingCheck(a,b){var cur=b&&a,diff=cur&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(diff)return diff;if(cur)for(;cur=cur.nextSibling;)if(cur===b)return-1;return a?1:-1}function createInputPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return"input"===name&&elem.type===type}}function createButtonPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return("input"===name||"button"===name)&&elem.type===type}}function createDisabledPseudo(disabled){return function(elem){return"form"in elem?elem.parentNode&&elem.disabled===!1?"label"in elem?"label"in elem.parentNode?elem.parentNode.disabled===disabled:elem.disabled===disabled:elem.isDisabled===disabled||elem.isDisabled!==!disabled&&disabledAncestor(elem)===disabled:elem.disabled===disabled:"label"in elem&&elem.disabled===disabled}}function createPositionalPseudo(fn){return markFunction(function(argument){return argument=+argument,markFunction(function(seed,matches){for(var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;i--;)seed[j=matchIndexes[i]]&&(seed[j]=!(matches[j]=seed[j]))})})}function testContext(context){return context&&"undefined"!=typeof context.getElementsByTagName&&context}function setFilters(){}function toSelector(tokens){for(var i=0,len=tokens.length,selector="";i<len;i++)selector+=tokens[i].value;return selector}function addCombinator(matcher,combinator,base){var dir=combinator.dir,skip=combinator.next,key=skip||dir,checkNonElements=base&&"parentNode"===key,doneName=done++;return combinator.first?function(elem,context,xml){for(;elem=elem[dir];)if(1===elem.nodeType||checkNonElements)return matcher(elem,context,xml);return!1}:function(elem,context,xml){var oldCache,uniqueCache,outerCache,newCache=[dirruns,doneName];if(xml){for(;elem=elem[dir];)if((1===elem.nodeType||checkNonElements)&&matcher(elem,context,xml))return!0}else for(;elem=elem[dir];)if(1===elem.nodeType||checkNonElements)if(outerCache=elem[expando]||(elem[expando]={}),uniqueCache=outerCache[elem.uniqueID]||(outerCache[elem.uniqueID]={}),skip&&skip===elem.nodeName.toLowerCase())elem=elem[dir]||elem;else{if((oldCache=uniqueCache[key])&&oldCache[0]===dirruns&&oldCache[1]===doneName)return newCache[2]=oldCache[2];if(uniqueCache[key]=newCache,newCache[2]=matcher(elem,context,xml))return!0}return!1}}function elementMatcher(matchers){return matchers.length>1?function(elem,context,xml){for(var i=matchers.length;i--;)if(!matchers[i](elem,context,xml))return!1;return!0}:matchers[0]}function multipleContexts(selector,contexts,results){for(var i=0,len=contexts.length;i<len;i++)Sizzle(selector,contexts[i],results);return results}function condense(unmatched,map,filter,context,xml){for(var elem,newUnmatched=[],i=0,len=unmatched.length,mapped=null!=map;i<len;i++)(elem=unmatched[i])&&(filter&&!filter(elem,context,xml)||(newUnmatched.push(elem),mapped&&map.push(i)));return newUnmatched}function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){return postFilter&&!postFilter[expando]&&(postFilter=setMatcher(postFilter)),postFinder&&!postFinder[expando]&&(postFinder=setMatcher(postFinder,postSelector)),markFunction(function(seed,results,context,xml){var temp,i,elem,preMap=[],postMap=[],preexisting=results.length,elems=seed||multipleContexts(selector||"*",context.nodeType?[context]:context,[]),matcherIn=!preFilter||!seed&&selector?elems:condense(elems,preMap,preFilter,context,xml),matcherOut=matcher?postFinder||(seed?preFilter:preexisting||postFilter)?[]:results:matcherIn;if(matcher&&matcher(matcherIn,matcherOut,context,xml),postFilter)for(temp=condense(matcherOut,postMap),postFilter(temp,[],context,xml),i=temp.length;i--;)(elem=temp[i])&&(matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem));if(seed){if(postFinder||preFilter){if(postFinder){for(temp=[],i=matcherOut.length;i--;)(elem=matcherOut[i])&&temp.push(matcherIn[i]=elem);postFinder(null,matcherOut=[],temp,xml)}for(i=matcherOut.length;i--;)(elem=matcherOut[i])&&(temp=postFinder?indexOf(seed,elem):preMap[i])>-1&&(seed[temp]=!(results[temp]=elem))}}else matcherOut=condense(matcherOut===results?matcherOut.splice(preexisting,matcherOut.length):matcherOut),postFinder?postFinder(null,results,matcherOut,xml):push.apply(results,matcherOut)})}function matcherFromTokens(tokens){for(var checkContext,matcher,j,len=tokens.length,leadingRelative=Expr.relative[tokens[0].type],implicitRelative=leadingRelative||Expr.relative[" "],i=leadingRelative?1:0,matchContext=addCombinator(function(elem){return elem===checkContext},implicitRelative,!0),matchAnyContext=addCombinator(function(elem){return indexOf(checkContext,elem)>-1},implicitRelative,!0),matchers=[function(elem,context,xml){var ret=!leadingRelative&&(xml||context!==outermostContext)||((checkContext=context).nodeType?matchContext(elem,context,xml):matchAnyContext(elem,context,xml));return checkContext=null,ret}];i<len;i++)if(matcher=Expr.relative[tokens[i].type])matchers=[addCombinator(elementMatcher(matchers),matcher)];else{if(matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches),matcher[expando]){for(j=++i;j<len&&!Expr.relative[tokens[j].type];j++);return setMatcher(i>1&&elementMatcher(matchers),i>1&&toSelector(tokens.slice(0,i-1).concat({value:" "===tokens[i-2].type?"*":""})).replace(rtrim,"$1"),matcher,i<j&&matcherFromTokens(tokens.slice(i,j)),j<len&&matcherFromTokens(tokens=tokens.slice(j)),j<len&&toSelector(tokens))}matchers.push(matcher)}return elementMatcher(matchers)}function matcherFromGroupMatchers(elementMatchers,setMatchers){var bySet=setMatchers.length>0,byElement=elementMatchers.length>0,superMatcher=function(seed,context,xml,results,outermost){var elem,j,matcher,matchedCount=0,i="0",unmatched=seed&&[],setMatched=[],contextBackup=outermostContext,elems=seed||byElement&&Expr.find.TAG("*",outermost),dirrunsUnique=dirruns+=null==contextBackup?1:Math.random()||.1,len=elems.length;for(outermost&&(outermostContext=context===document||context||outermost);i!==len&&null!=(elem=elems[i]);i++){if(byElement&&elem){for(j=0,context||elem.ownerDocument===document||(setDocument(elem),xml=!documentIsHTML);matcher=elementMatchers[j++];)if(matcher(elem,context||document,xml)){results.push(elem);break}outermost&&(dirruns=dirrunsUnique)}bySet&&((elem=!matcher&&elem)&&matchedCount--,seed&&unmatched.push(elem))}if(matchedCount+=i,bySet&&i!==matchedCount){for(j=0;matcher=setMatchers[j++];)matcher(unmatched,setMatched,context,xml);if(seed){if(matchedCount>0)for(;i--;)unmatched[i]||setMatched[i]||(setMatched[i]=pop.call(results));setMatched=condense(setMatched)}push.apply(results,setMatched),outermost&&!seed&&setMatched.length>0&&matchedCount+setMatchers.length>1&&Sizzle.uniqueSort(results)}return outermost&&(dirruns=dirrunsUnique,outermostContext=contextBackup),unmatched};return bySet?markFunction(superMatcher):superMatcher}var i,support,Expr,getText,isXML,tokenize,compile,select,outermostContext,sortInput,hasDuplicate,setDocument,document,docElem,documentIsHTML,rbuggyQSA,rbuggyMatches,matches,contains,expando="sizzle"+1*new Date,preferredDoc=window.document,dirruns=0,done=0,classCache=createCache(),tokenCache=createCache(),compilerCache=createCache(),sortOrder=function(a,b){return a===b&&(hasDuplicate=!0),0},hasOwn={}.hasOwnProperty,arr=[],pop=arr.pop,push_native=arr.push,push=arr.push,slice=arr.slice,indexOf=function(list,elem){for(var i=0,len=list.length;i<len;i++)if(list[i]===elem)return i;return-1},booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",whitespace="[\\x20\\t\\r\\n\\f]",identifier="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",attributes="\\["+whitespace+"*("+identifier+")(?:"+whitespace+"*([*^$|!~]?=)"+whitespace+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+whitespace+"*\\]",pseudos=":("+identifier+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|.*)\\)|)",rwhitespace=new RegExp(whitespace+"+","g"),rtrim=new RegExp("^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$","g"),rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),rcombinators=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+whitespace+"*"),rattributeQuotes=new RegExp("="+whitespace+"*([^\\]'\"]*?)"+whitespace+"*\\]","g"),rpseudo=new RegExp(pseudos),ridentifier=new RegExp("^"+identifier+"$"),matchExpr={ID:new RegExp("^#("+identifier+")"),CLASS:new RegExp("^\\.("+identifier+")"),TAG:new RegExp("^("+identifier+"|[*])"),ATTR:new RegExp("^"+attributes),PSEUDO:new RegExp("^"+pseudos),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),bool:new RegExp("^(?:"+booleans+")$","i"),needsContext:new RegExp("^"+whitespace+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")},rinputs=/^(?:input|select|textarea|button)$/i,rheader=/^h\d$/i,rnative=/^[^{]+\{\s*\[native \w/,rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,rsibling=/[+~]/,runescape=new RegExp("\\\\([\\da-f]{1,6}"+whitespace+"?|("+whitespace+")|.)","ig"),funescape=function(_,escaped,escapedWhitespace){var high="0x"+escaped-65536;return high!==high||escapedWhitespace?escaped:high<0?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,1023&high|56320)},rcssescape=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,fcssescape=function(ch,asCodePoint){return asCodePoint?"\0"===ch?"�":ch.slice(0,-1)+"\\"+ch.charCodeAt(ch.length-1).toString(16)+" ":"\\"+ch},unloadHandler=function(){setDocument()},disabledAncestor=addCombinator(function(elem){return elem.disabled===!0&&("form"in elem||"label"in elem)},{dir:"parentNode",next:"legend"});try{push.apply(arr=slice.call(preferredDoc.childNodes),preferredDoc.childNodes),arr[preferredDoc.childNodes.length].nodeType}catch(e){push={apply:arr.length?function(target,els){push_native.apply(target,slice.call(els))}:function(target,els){for(var j=target.length,i=0;target[j++]=els[i++];);target.length=j-1}}}support=Sizzle.support={},isXML=Sizzle.isXML=function(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return!!documentElement&&"HTML"!==documentElement.nodeName},setDocument=Sizzle.setDocument=function(node){var hasCompare,subWindow,doc=node?node.ownerDocument||node:preferredDoc;return doc!==document&&9===doc.nodeType&&doc.documentElement?(document=doc,docElem=document.documentElement,documentIsHTML=!isXML(document),preferredDoc!==document&&(subWindow=document.defaultView)&&subWindow.top!==subWindow&&(subWindow.addEventListener?subWindow.addEventListener("unload",unloadHandler,!1):subWindow.attachEvent&&subWindow.attachEvent("onunload",unloadHandler)),support.attributes=assert(function(el){return el.className="i",!el.getAttribute("className")}),support.getElementsByTagName=assert(function(el){return el.appendChild(document.createComment("")),!el.getElementsByTagName("*").length}),support.getElementsByClassName=rnative.test(document.getElementsByClassName),support.getById=assert(function(el){return docElem.appendChild(el).id=expando,!document.getElementsByName||!document.getElementsByName(expando).length}),support.getById?(Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){return elem.getAttribute("id")===attrId}},Expr.find.ID=function(id,context){if("undefined"!=typeof context.getElementById&&documentIsHTML){var elem=context.getElementById(id);return elem?[elem]:[]}}):(Expr.filter.ID=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node="undefined"!=typeof elem.getAttributeNode&&elem.getAttributeNode("id");return node&&node.value===attrId}},Expr.find.ID=function(id,context){if("undefined"!=typeof context.getElementById&&documentIsHTML){var node,i,elems,elem=context.getElementById(id);if(elem){if(node=elem.getAttributeNode("id"),node&&node.value===id)return[elem];for(elems=context.getElementsByName(id),i=0;elem=elems[i++];)if(node=elem.getAttributeNode("id"),node&&node.value===id)return[elem]}return[]}}),Expr.find.TAG=support.getElementsByTagName?function(tag,context){return"undefined"!=typeof context.getElementsByTagName?context.getElementsByTagName(tag):support.qsa?context.querySelectorAll(tag):void 0}:function(tag,context){var elem,tmp=[],i=0,results=context.getElementsByTagName(tag);if("*"===tag){for(;elem=results[i++];)1===elem.nodeType&&tmp.push(elem);return tmp}return results},Expr.find.CLASS=support.getElementsByClassName&&function(className,context){if("undefined"!=typeof context.getElementsByClassName&&documentIsHTML)return context.getElementsByClassName(className)},rbuggyMatches=[],rbuggyQSA=[],(support.qsa=rnative.test(document.querySelectorAll))&&(assert(function(el){docElem.appendChild(el).innerHTML="<a id='"+expando+"'></a><select id='"+expando+"-\r\\' msallowcapture=''><option selected=''></option></select>",el.querySelectorAll("[msallowcapture^='']").length&&rbuggyQSA.push("[*^$]="+whitespace+"*(?:''|\"\")"),el.querySelectorAll("[selected]").length||rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")"),el.querySelectorAll("[id~="+expando+"-]").length||rbuggyQSA.push("~="),el.querySelectorAll(":checked").length||rbuggyQSA.push(":checked"),el.querySelectorAll("a#"+expando+"+*").length||rbuggyQSA.push(".#.+[+~]")}),assert(function(el){el.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var input=document.createElement("input");input.setAttribute("type","hidden"),el.appendChild(input).setAttribute("name","D"),el.querySelectorAll("[name=d]").length&&rbuggyQSA.push("name"+whitespace+"*[*^$|!~]?="),2!==el.querySelectorAll(":enabled").length&&rbuggyQSA.push(":enabled",":disabled"),docElem.appendChild(el).disabled=!0,2!==el.querySelectorAll(":disabled").length&&rbuggyQSA.push(":enabled",":disabled"),el.querySelectorAll("*,:x"),rbuggyQSA.push(",.*:")})),(support.matchesSelector=rnative.test(matches=docElem.matches||docElem.webkitMatchesSelector||docElem.mozMatchesSelector||docElem.oMatchesSelector||docElem.msMatchesSelector))&&assert(function(el){support.disconnectedMatch=matches.call(el,"*"),matches.call(el,"[s!='']:x"),rbuggyMatches.push("!=",pseudos)}),rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|")),rbuggyMatches=rbuggyMatches.length&&new RegExp(rbuggyMatches.join("|")),hasCompare=rnative.test(docElem.compareDocumentPosition),contains=hasCompare||rnative.test(docElem.contains)?function(a,b){var adown=9===a.nodeType?a.documentElement:a,bup=b&&b.parentNode;return a===bup||!(!bup||1!==bup.nodeType||!(adown.contains?adown.contains(bup):a.compareDocumentPosition&&16&a.compareDocumentPosition(bup)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1},sortOrder=hasCompare?function(a,b){if(a===b)return hasDuplicate=!0,0;var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;return compare?compare:(compare=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&compare||!support.sortDetached&&b.compareDocumentPosition(a)===compare?a===document||a.ownerDocument===preferredDoc&&contains(preferredDoc,a)?-1:b===document||b.ownerDocument===preferredDoc&&contains(preferredDoc,b)?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0:4&compare?-1:1)}:function(a,b){if(a===b)return hasDuplicate=!0,0;var cur,i=0,aup=a.parentNode,bup=b.parentNode,ap=[a],bp=[b];if(!aup||!bup)return a===document?-1:b===document?1:aup?-1:bup?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0;if(aup===bup)return siblingCheck(a,b);for(cur=a;cur=cur.parentNode;)ap.unshift(cur);for(cur=b;cur=cur.parentNode;)bp.unshift(cur);for(;ap[i]===bp[i];)i++;return i?siblingCheck(ap[i],bp[i]):ap[i]===preferredDoc?-1:bp[i]===preferredDoc?1:0},document):document},Sizzle.matches=function(expr,elements){return Sizzle(expr,null,null,elements)},Sizzle.matchesSelector=function(elem,expr){if((elem.ownerDocument||elem)!==document&&setDocument(elem),expr=expr.replace(rattributeQuotes,"='$1']"),support.matchesSelector&&documentIsHTML&&!compilerCache[expr+" "]&&(!rbuggyMatches||!rbuggyMatches.test(expr))&&(!rbuggyQSA||!rbuggyQSA.test(expr)))try{var ret=matches.call(elem,expr);if(ret||support.disconnectedMatch||elem.document&&11!==elem.document.nodeType)return ret}catch(e){}return Sizzle(expr,document,null,[elem]).length>0},Sizzle.contains=function(context,elem){return(context.ownerDocument||context)!==document&&setDocument(context),contains(context,elem)},Sizzle.attr=function(elem,name){(elem.ownerDocument||elem)!==document&&setDocument(elem);var fn=Expr.attrHandle[name.toLowerCase()],val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?fn(elem,name,!documentIsHTML):void 0;return void 0!==val?val:support.attributes||!documentIsHTML?elem.getAttribute(name):(val=elem.getAttributeNode(name))&&val.specified?val.value:null},Sizzle.escape=function(sel){return(sel+"").replace(rcssescape,fcssescape)},Sizzle.error=function(msg){throw new Error("Syntax error, unrecognized expression: "+msg)},Sizzle.uniqueSort=function(results){var elem,duplicates=[],j=0,i=0;if(hasDuplicate=!support.detectDuplicates,sortInput=!support.sortStable&&results.slice(0),results.sort(sortOrder),hasDuplicate){for(;elem=results[i++];)elem===results[i]&&(j=duplicates.push(i));for(;j--;)results.splice(duplicates[j],1)}return sortInput=null,results},getText=Sizzle.getText=function(elem){var node,ret="",i=0,nodeType=elem.nodeType;if(nodeType){if(1===nodeType||9===nodeType||11===nodeType){if("string"==typeof elem.textContent)return elem.textContent;for(elem=elem.firstChild;elem;elem=elem.nextSibling)ret+=getText(elem)}else if(3===nodeType||4===nodeType)return elem.nodeValue}else for(;node=elem[i++];)ret+=getText(node);return ret},Expr=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:matchExpr,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(match){return match[1]=match[1].replace(runescape,funescape),match[3]=(match[3]||match[4]||match[5]||"").replace(runescape,funescape),"~="===match[2]&&(match[3]=" "+match[3]+" "),match.slice(0,4)},CHILD:function(match){return match[1]=match[1].toLowerCase(),"nth"===match[1].slice(0,3)?(match[3]||Sizzle.error(match[0]),match[4]=+(match[4]?match[5]+(match[6]||1):2*("even"===match[3]||"odd"===match[3])),match[5]=+(match[7]+match[8]||"odd"===match[3])):match[3]&&Sizzle.error(match[0]),match},PSEUDO:function(match){var excess,unquoted=!match[6]&&match[2];return matchExpr.CHILD.test(match[0])?null:(match[3]?match[2]=match[4]||match[5]||"":unquoted&&rpseudo.test(unquoted)&&(excess=tokenize(unquoted,!0))&&(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)&&(match[0]=match[0].slice(0,excess),match[2]=unquoted.slice(0,excess)),match.slice(0,3))}},filter:{TAG:function(nodeNameSelector){var nodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();return"*"===nodeNameSelector?function(){return!0}:function(elem){return elem.nodeName&&elem.nodeName.toLowerCase()===nodeName}},CLASS:function(className){var pattern=classCache[className+" "];return pattern||(pattern=new RegExp("(^|"+whitespace+")"+className+"("+whitespace+"|$)"))&&classCache(className,function(elem){return pattern.test("string"==typeof elem.className&&elem.className||"undefined"!=typeof elem.getAttribute&&elem.getAttribute("class")||"")})},ATTR:function(name,operator,check){return function(elem){var result=Sizzle.attr(elem,name);return null==result?"!="===operator:!operator||(result+="","="===operator?result===check:"!="===operator?result!==check:"^="===operator?check&&0===result.indexOf(check):"*="===operator?check&&result.indexOf(check)>-1:"$="===operator?check&&result.slice(-check.length)===check:"~="===operator?(" "+result.replace(rwhitespace," ")+" ").indexOf(check)>-1:"|="===operator&&(result===check||result.slice(0,check.length+1)===check+"-"))}},CHILD:function(type,what,argument,first,last){var simple="nth"!==type.slice(0,3),forward="last"!==type.slice(-4),ofType="of-type"===what;return 1===first&&0===last?function(elem){return!!elem.parentNode}:function(elem,context,xml){var cache,uniqueCache,outerCache,node,nodeIndex,start,dir=simple!==forward?"nextSibling":"previousSibling",parent=elem.parentNode,name=ofType&&elem.nodeName.toLowerCase(),useCache=!xml&&!ofType,diff=!1;if(parent){if(simple){for(;dir;){for(node=elem;node=node[dir];)if(ofType?node.nodeName.toLowerCase()===name:1===node.nodeType)return!1;start=dir="only"===type&&!start&&"nextSibling"}return!0}if(start=[forward?parent.firstChild:parent.lastChild],forward&&useCache){for(node=parent,outerCache=node[expando]||(node[expando]={}),uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={}),cache=uniqueCache[type]||[],nodeIndex=cache[0]===dirruns&&cache[1],diff=nodeIndex&&cache[2],node=nodeIndex&&parent.childNodes[nodeIndex];node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop();)if(1===node.nodeType&&++diff&&node===elem){uniqueCache[type]=[dirruns,nodeIndex,diff];break}}else if(useCache&&(node=elem,outerCache=node[expando]||(node[expando]={}),uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={}),cache=uniqueCache[type]||[],nodeIndex=cache[0]===dirruns&&cache[1],diff=nodeIndex),diff===!1)for(;(node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop())&&((ofType?node.nodeName.toLowerCase()!==name:1!==node.nodeType)||!++diff||(useCache&&(outerCache=node[expando]||(node[expando]={}),uniqueCache=outerCache[node.uniqueID]||(outerCache[node.uniqueID]={}),uniqueCache[type]=[dirruns,diff]),node!==elem)););return diff-=last,diff===first||diff%first===0&&diff/first>=0}}},PSEUDO:function(pseudo,argument){var args,fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||Sizzle.error("unsupported pseudo: "+pseudo);return fn[expando]?fn(argument):fn.length>1?(args=[pseudo,pseudo,"",argument],Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?markFunction(function(seed,matches){for(var idx,matched=fn(seed,argument),i=matched.length;i--;)idx=indexOf(seed,matched[i]),seed[idx]=!(matches[idx]=matched[i])}):function(elem){return fn(elem,0,args)}):fn}},pseudos:{not:markFunction(function(selector){var input=[],results=[],matcher=compile(selector.replace(rtrim,"$1"));return matcher[expando]?markFunction(function(seed,matches,context,xml){for(var elem,unmatched=matcher(seed,null,xml,[]),i=seed.length;i--;)(elem=unmatched[i])&&(seed[i]=!(matches[i]=elem))}):function(elem,context,xml){return input[0]=elem,matcher(input,null,xml,results),input[0]=null,!results.pop()}}),has:markFunction(function(selector){return function(elem){return Sizzle(selector,elem).length>0}}),contains:markFunction(function(text){return text=text.replace(runescape,funescape),function(elem){return(elem.textContent||elem.innerText||getText(elem)).indexOf(text)>-1}}),lang:markFunction(function(lang){return ridentifier.test(lang||"")||Sizzle.error("unsupported lang: "+lang),lang=lang.replace(runescape,funescape).toLowerCase(),function(elem){var elemLang;do if(elemLang=documentIsHTML?elem.lang:elem.getAttribute("xml:lang")||elem.getAttribute("lang"))return elemLang=elemLang.toLowerCase(),elemLang===lang||0===elemLang.indexOf(lang+"-");while((elem=elem.parentNode)&&1===elem.nodeType);return!1}}),target:function(elem){var hash=window.location&&window.location.hash;return hash&&hash.slice(1)===elem.id},root:function(elem){return elem===docElem},focus:function(elem){return elem===document.activeElement&&(!document.hasFocus||document.hasFocus())&&!!(elem.type||elem.href||~elem.tabIndex)},enabled:createDisabledPseudo(!1),disabled:createDisabledPseudo(!0),checked:function(elem){var nodeName=elem.nodeName.toLowerCase();return"input"===nodeName&&!!elem.checked||"option"===nodeName&&!!elem.selected},selected:function(elem){return elem.parentNode&&elem.parentNode.selectedIndex,elem.selected===!0},empty:function(elem){for(elem=elem.firstChild;elem;elem=elem.nextSibling)if(elem.nodeType<6)return!1;return!0},parent:function(elem){return!Expr.pseudos.empty(elem)},header:function(elem){return rheader.test(elem.nodeName)},input:function(elem){return rinputs.test(elem.nodeName)},button:function(elem){var name=elem.nodeName.toLowerCase();return"input"===name&&"button"===elem.type||"button"===name},text:function(elem){var attr;return"input"===elem.nodeName.toLowerCase()&&"text"===elem.type&&(null==(attr=elem.getAttribute("type"))||"text"===attr.toLowerCase())},first:createPositionalPseudo(function(){return[0]}),last:createPositionalPseudo(function(matchIndexes,length){return[length-1]}),eq:createPositionalPseudo(function(matchIndexes,length,argument){return[argument<0?argument+length:argument]}),even:createPositionalPseudo(function(matchIndexes,length){for(var i=0;i<length;i+=2)matchIndexes.push(i);return matchIndexes}),odd:createPositionalPseudo(function(matchIndexes,length){for(var i=1;i<length;i+=2)matchIndexes.push(i);return matchIndexes}),lt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=argument<0?argument+length:argument;--i>=0;)matchIndexes.push(i);return matchIndexes}),gt:createPositionalPseudo(function(matchIndexes,length,argument){for(var i=argument<0?argument+length:argument;++i<length;)matchIndexes.push(i);return matchIndexes})}},Expr.pseudos.nth=Expr.pseudos.eq;for(i in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})Expr.pseudos[i]=createInputPseudo(i);for(i in{submit:!0,reset:!0})Expr.pseudos[i]=createButtonPseudo(i);return setFilters.prototype=Expr.filters=Expr.pseudos,Expr.setFilters=new setFilters,tokenize=Sizzle.tokenize=function(selector,parseOnly){var matched,match,tokens,type,soFar,groups,preFilters,cached=tokenCache[selector+" "];if(cached)return parseOnly?0:cached.slice(0);for(soFar=selector,groups=[],preFilters=Expr.preFilter;soFar;){matched&&!(match=rcomma.exec(soFar))||(match&&(soFar=soFar.slice(match[0].length)||soFar),groups.push(tokens=[])),matched=!1,(match=rcombinators.exec(soFar))&&(matched=match.shift(),tokens.push({value:matched,type:match[0].replace(rtrim," ")}),soFar=soFar.slice(matched.length));for(type in Expr.filter)!(match=matchExpr[type].exec(soFar))||preFilters[type]&&!(match=preFilters[type](match))||(matched=match.shift(),tokens.push({value:matched,type:type,matches:match}),soFar=soFar.slice(matched.length));if(!matched)break}return parseOnly?soFar.length:soFar?Sizzle.error(selector):tokenCache(selector,groups).slice(0)},compile=Sizzle.compile=function(selector,match){var i,setMatchers=[],elementMatchers=[],cached=compilerCache[selector+" "];if(!cached){for(match||(match=tokenize(selector)),i=match.length;i--;)cached=matcherFromTokens(match[i]),cached[expando]?setMatchers.push(cached):elementMatchers.push(cached);cached=compilerCache(selector,matcherFromGroupMatchers(elementMatchers,setMatchers)),cached.selector=selector}return cached},select=Sizzle.select=function(selector,context,results,seed){var i,tokens,token,type,find,compiled="function"==typeof selector&&selector,match=!seed&&tokenize(selector=compiled.selector||selector);if(results=results||[],1===match.length){if(tokens=match[0]=match[0].slice(0),tokens.length>2&&"ID"===(token=tokens[0]).type&&9===context.nodeType&&documentIsHTML&&Expr.relative[tokens[1].type]){if(context=(Expr.find.ID(token.matches[0].replace(runescape,funescape),context)||[])[0],!context)return results;compiled&&(context=context.parentNode),selector=selector.slice(tokens.shift().value.length)}for(i=matchExpr.needsContext.test(selector)?0:tokens.length;i--&&(token=tokens[i],!Expr.relative[type=token.type]);)if((find=Expr.find[type])&&(seed=find(token.matches[0].replace(runescape,funescape),rsibling.test(tokens[0].type)&&testContext(context.parentNode)||context))){if(tokens.splice(i,1),selector=seed.length&&toSelector(tokens),!selector)return push.apply(results,seed),results;break}}return(compiled||compile(selector,match))(seed,context,!documentIsHTML,results,!context||rsibling.test(selector)&&testContext(context.parentNode)||context),results},support.sortStable=expando.split("").sort(sortOrder).join("")===expando,support.detectDuplicates=!!hasDuplicate,setDocument(),support.sortDetached=assert(function(el){return 1&el.compareDocumentPosition(document.createElement("fieldset"))}),assert(function(el){return el.innerHTML="<a href='#'></a>","#"===el.firstChild.getAttribute("href")})||addHandle("type|href|height|width",function(elem,name,isXML){if(!isXML)return elem.getAttribute(name,"type"===name.toLowerCase()?1:2)}),support.attributes&&assert(function(el){return el.innerHTML="<input/>",el.firstChild.setAttribute("value",""),""===el.firstChild.getAttribute("value")})||addHandle("value",function(elem,name,isXML){if(!isXML&&"input"===elem.nodeName.toLowerCase())return elem.defaultValue}),assert(function(el){return null==el.getAttribute("disabled")})||addHandle(booleans,function(elem,name,isXML){var val;if(!isXML)return elem[name]===!0?name.toLowerCase():(val=elem.getAttributeNode(name))&&val.specified?val.value:null}),Sizzle}(window);jQuery.find=Sizzle,jQuery.expr=Sizzle.selectors,jQuery.expr[":"]=jQuery.expr.pseudos,jQuery.uniqueSort=jQuery.unique=Sizzle.uniqueSort,jQuery.text=Sizzle.getText,jQuery.isXMLDoc=Sizzle.isXML,jQuery.contains=Sizzle.contains,jQuery.escapeSelector=Sizzle.escape;var dir=function(elem,dir,until){for(var matched=[],truncate=void 0!==until;(elem=elem[dir])&&9!==elem.nodeType;)if(1===elem.nodeType){if(truncate&&jQuery(elem).is(until))break;matched.push(elem)}return matched},siblings=function(n,elem){for(var matched=[];n;n=n.nextSibling)1===n.nodeType&&n!==elem&&matched.push(n);return matched},rneedsContext=jQuery.expr.match.needsContext,rsingleTag=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,risSimple=/^.[^:#\[\.,]*$/;
+jQuery.filter=function(expr,elems,not){var elem=elems[0];return not&&(expr=":not("+expr+")"),1===elems.length&&1===elem.nodeType?jQuery.find.matchesSelector(elem,expr)?[elem]:[]:jQuery.find.matches(expr,jQuery.grep(elems,function(elem){return 1===elem.nodeType}))},jQuery.fn.extend({find:function(selector){var i,ret,len=this.length,self=this;if("string"!=typeof selector)return this.pushStack(jQuery(selector).filter(function(){for(i=0;i<len;i++)if(jQuery.contains(self[i],this))return!0}));for(ret=this.pushStack([]),i=0;i<len;i++)jQuery.find(selector,self[i],ret);return len>1?jQuery.uniqueSort(ret):ret},filter:function(selector){return this.pushStack(winnow(this,selector||[],!1))},not:function(selector){return this.pushStack(winnow(this,selector||[],!0))},is:function(selector){return!!winnow(this,"string"==typeof selector&&rneedsContext.test(selector)?jQuery(selector):selector||[],!1).length}});var rootjQuery,rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,init=jQuery.fn.init=function(selector,context,root){var match,elem;if(!selector)return this;if(root=root||rootjQuery,"string"==typeof selector){if(match="<"===selector[0]&&">"===selector[selector.length-1]&&selector.length>=3?[null,selector,null]:rquickExpr.exec(selector),!match||!match[1]&&context)return!context||context.jquery?(context||root).find(selector):this.constructor(context).find(selector);if(match[1]){if(context=context instanceof jQuery?context[0]:context,jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,!0)),rsingleTag.test(match[1])&&jQuery.isPlainObject(context))for(match in context)jQuery.isFunction(this[match])?this[match](context[match]):this.attr(match,context[match]);return this}return elem=document.getElementById(match[2]),elem&&(this[0]=elem,this.length=1),this}return selector.nodeType?(this[0]=selector,this.length=1,this):jQuery.isFunction(selector)?void 0!==root.ready?root.ready(selector):selector(jQuery):jQuery.makeArray(selector,this)};init.prototype=jQuery.fn,rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,guaranteedUnique={children:!0,contents:!0,next:!0,prev:!0};jQuery.fn.extend({has:function(target){var targets=jQuery(target,this),l=targets.length;return this.filter(function(){for(var i=0;i<l;i++)if(jQuery.contains(this,targets[i]))return!0})},closest:function(selectors,context){var cur,i=0,l=this.length,matched=[],targets="string"!=typeof selectors&&jQuery(selectors);if(!rneedsContext.test(selectors))for(;i<l;i++)for(cur=this[i];cur&&cur!==context;cur=cur.parentNode)if(cur.nodeType<11&&(targets?targets.index(cur)>-1:1===cur.nodeType&&jQuery.find.matchesSelector(cur,selectors))){matched.push(cur);break}return this.pushStack(matched.length>1?jQuery.uniqueSort(matched):matched)},index:function(elem){return elem?"string"==typeof elem?indexOf.call(jQuery(elem),this[0]):indexOf.call(this,elem.jquery?elem[0]:elem):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(selector,context){return this.pushStack(jQuery.uniqueSort(jQuery.merge(this.get(),jQuery(selector,context))))},addBack:function(selector){return this.add(null==selector?this.prevObject:this.prevObject.filter(selector))}}),jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&11!==parent.nodeType?parent:null},parents:function(elem){return dir(elem,"parentNode")},parentsUntil:function(elem,i,until){return dir(elem,"parentNode",until)},next:function(elem){return sibling(elem,"nextSibling")},prev:function(elem){return sibling(elem,"previousSibling")},nextAll:function(elem){return dir(elem,"nextSibling")},prevAll:function(elem){return dir(elem,"previousSibling")},nextUntil:function(elem,i,until){return dir(elem,"nextSibling",until)},prevUntil:function(elem,i,until){return dir(elem,"previousSibling",until)},siblings:function(elem){return siblings((elem.parentNode||{}).firstChild,elem)},children:function(elem){return siblings(elem.firstChild)},contents:function(elem){return elem.contentDocument||jQuery.merge([],elem.childNodes)}},function(name,fn){jQuery.fn[name]=function(until,selector){var matched=jQuery.map(this,fn,until);return"Until"!==name.slice(-5)&&(selector=until),selector&&"string"==typeof selector&&(matched=jQuery.filter(selector,matched)),this.length>1&&(guaranteedUnique[name]||jQuery.uniqueSort(matched),rparentsprev.test(name)&&matched.reverse()),this.pushStack(matched)}});var rnothtmlwhite=/[^\x20\t\r\n\f]+/g;jQuery.Callbacks=function(options){options="string"==typeof options?createOptions(options):jQuery.extend({},options);var firing,memory,fired,locked,list=[],queue=[],firingIndex=-1,fire=function(){for(locked=options.once,fired=firing=!0;queue.length;firingIndex=-1)for(memory=queue.shift();++firingIndex<list.length;)list[firingIndex].apply(memory[0],memory[1])===!1&&options.stopOnFalse&&(firingIndex=list.length,memory=!1);options.memory||(memory=!1),firing=!1,locked&&(list=memory?[]:"")},self={add:function(){return list&&(memory&&!firing&&(firingIndex=list.length-1,queue.push(memory)),function add(args){jQuery.each(args,function(_,arg){jQuery.isFunction(arg)?options.unique&&self.has(arg)||list.push(arg):arg&&arg.length&&"string"!==jQuery.type(arg)&&add(arg)})}(arguments),memory&&!firing&&fire()),this},remove:function(){return jQuery.each(arguments,function(_,arg){for(var index;(index=jQuery.inArray(arg,list,index))>-1;)list.splice(index,1),index<=firingIndex&&firingIndex--}),this},has:function(fn){return fn?jQuery.inArray(fn,list)>-1:list.length>0},empty:function(){return list&&(list=[]),this},disable:function(){return locked=queue=[],list=memory="",this},disabled:function(){return!list},lock:function(){return locked=queue=[],memory||firing||(list=memory=""),this},locked:function(){return!!locked},fireWith:function(context,args){return locked||(args=args||[],args=[context,args.slice?args.slice():args],queue.push(args),firing||fire()),this},fire:function(){return self.fireWith(this,arguments),this},fired:function(){return!!fired}};return self},jQuery.extend({Deferred:function(func){var tuples=[["notify","progress",jQuery.Callbacks("memory"),jQuery.Callbacks("memory"),2],["resolve","done",jQuery.Callbacks("once memory"),jQuery.Callbacks("once memory"),0,"resolved"],["reject","fail",jQuery.Callbacks("once memory"),jQuery.Callbacks("once memory"),1,"rejected"]],state="pending",promise={state:function(){return state},always:function(){return deferred.done(arguments).fail(arguments),this},"catch":function(fn){return promise.then(null,fn)},pipe:function(){var fns=arguments;return jQuery.Deferred(function(newDefer){jQuery.each(tuples,function(i,tuple){var fn=jQuery.isFunction(fns[tuple[4]])&&fns[tuple[4]];deferred[tuple[1]](function(){var returned=fn&&fn.apply(this,arguments);returned&&jQuery.isFunction(returned.promise)?returned.promise().progress(newDefer.notify).done(newDefer.resolve).fail(newDefer.reject):newDefer[tuple[0]+"With"](this,fn?[returned]:arguments)})}),fns=null}).promise()},then:function(onFulfilled,onRejected,onProgress){function resolve(depth,deferred,handler,special){return function(){var that=this,args=arguments,mightThrow=function(){var returned,then;if(!(depth<maxDepth)){if(returned=handler.apply(that,args),returned===deferred.promise())throw new TypeError("Thenable self-resolution");then=returned&&("object"==typeof returned||"function"==typeof returned)&&returned.then,jQuery.isFunction(then)?special?then.call(returned,resolve(maxDepth,deferred,Identity,special),resolve(maxDepth,deferred,Thrower,special)):(maxDepth++,then.call(returned,resolve(maxDepth,deferred,Identity,special),resolve(maxDepth,deferred,Thrower,special),resolve(maxDepth,deferred,Identity,deferred.notifyWith))):(handler!==Identity&&(that=void 0,args=[returned]),(special||deferred.resolveWith)(that,args))}},process=special?mightThrow:function(){try{mightThrow()}catch(e){jQuery.Deferred.exceptionHook&&jQuery.Deferred.exceptionHook(e,process.stackTrace),depth+1>=maxDepth&&(handler!==Thrower&&(that=void 0,args=[e]),deferred.rejectWith(that,args))}};depth?process():(jQuery.Deferred.getStackHook&&(process.stackTrace=jQuery.Deferred.getStackHook()),window.setTimeout(process))}}var maxDepth=0;return jQuery.Deferred(function(newDefer){tuples[0][3].add(resolve(0,newDefer,jQuery.isFunction(onProgress)?onProgress:Identity,newDefer.notifyWith)),tuples[1][3].add(resolve(0,newDefer,jQuery.isFunction(onFulfilled)?onFulfilled:Identity)),tuples[2][3].add(resolve(0,newDefer,jQuery.isFunction(onRejected)?onRejected:Thrower))}).promise()},promise:function(obj){return null!=obj?jQuery.extend(obj,promise):promise}},deferred={};return jQuery.each(tuples,function(i,tuple){var list=tuple[2],stateString=tuple[5];promise[tuple[1]]=list.add,stateString&&list.add(function(){state=stateString},tuples[3-i][2].disable,tuples[0][2].lock),list.add(tuple[3].fire),deferred[tuple[0]]=function(){return deferred[tuple[0]+"With"](this===deferred?void 0:this,arguments),this},deferred[tuple[0]+"With"]=list.fireWith}),promise.promise(deferred),func&&func.call(deferred,deferred),deferred},when:function(singleValue){var remaining=arguments.length,i=remaining,resolveContexts=Array(i),resolveValues=slice.call(arguments),master=jQuery.Deferred(),updateFunc=function(i){return function(value){resolveContexts[i]=this,resolveValues[i]=arguments.length>1?slice.call(arguments):value,--remaining||master.resolveWith(resolveContexts,resolveValues)}};if(remaining<=1&&(adoptValue(singleValue,master.done(updateFunc(i)).resolve,master.reject),"pending"===master.state()||jQuery.isFunction(resolveValues[i]&&resolveValues[i].then)))return master.then();for(;i--;)adoptValue(resolveValues[i],updateFunc(i),master.reject);return master.promise()}});var rerrorNames=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;jQuery.Deferred.exceptionHook=function(error,stack){window.console&&window.console.warn&&error&&rerrorNames.test(error.name)&&window.console.warn("jQuery.Deferred exception: "+error.message,error.stack,stack)},jQuery.readyException=function(error){window.setTimeout(function(){throw error})};var readyList=jQuery.Deferred();jQuery.fn.ready=function(fn){return readyList.then(fn)["catch"](function(error){jQuery.readyException(error)}),this},jQuery.extend({isReady:!1,readyWait:1,holdReady:function(hold){hold?jQuery.readyWait++:jQuery.ready(!0)},ready:function(wait){(wait===!0?--jQuery.readyWait:jQuery.isReady)||(jQuery.isReady=!0,wait!==!0&&--jQuery.readyWait>0||readyList.resolveWith(document,[jQuery]))}}),jQuery.ready.then=readyList.then,"complete"===document.readyState||"loading"!==document.readyState&&!document.documentElement.doScroll?window.setTimeout(jQuery.ready):(document.addEventListener("DOMContentLoaded",completed),window.addEventListener("load",completed));var access=function(elems,fn,key,value,chainable,emptyGet,raw){var i=0,len=elems.length,bulk=null==key;if("object"===jQuery.type(key)){chainable=!0;for(i in key)access(elems,fn,i,key[i],!0,emptyGet,raw)}else if(void 0!==value&&(chainable=!0,jQuery.isFunction(value)||(raw=!0),bulk&&(raw?(fn.call(elems,value),fn=null):(bulk=fn,fn=function(elem,key,value){return bulk.call(jQuery(elem),value)})),fn))for(;i<len;i++)fn(elems[i],key,raw?value:value.call(elems[i],i,fn(elems[i],key)));return chainable?elems:bulk?fn.call(elems):len?fn(elems[0],key):emptyGet},acceptData=function(owner){return 1===owner.nodeType||9===owner.nodeType||!+owner.nodeType};Data.uid=1,Data.prototype={cache:function(owner){var value=owner[this.expando];return value||(value={},acceptData(owner)&&(owner.nodeType?owner[this.expando]=value:Object.defineProperty(owner,this.expando,{value:value,configurable:!0}))),value},set:function(owner,data,value){var prop,cache=this.cache(owner);if("string"==typeof data)cache[jQuery.camelCase(data)]=value;else for(prop in data)cache[jQuery.camelCase(prop)]=data[prop];return cache},get:function(owner,key){return void 0===key?this.cache(owner):owner[this.expando]&&owner[this.expando][jQuery.camelCase(key)]},access:function(owner,key,value){return void 0===key||key&&"string"==typeof key&&void 0===value?this.get(owner,key):(this.set(owner,key,value),void 0!==value?value:key)},remove:function(owner,key){var i,cache=owner[this.expando];if(void 0!==cache){if(void 0!==key){jQuery.isArray(key)?key=key.map(jQuery.camelCase):(key=jQuery.camelCase(key),key=key in cache?[key]:key.match(rnothtmlwhite)||[]),i=key.length;for(;i--;)delete cache[key[i]]}(void 0===key||jQuery.isEmptyObject(cache))&&(owner.nodeType?owner[this.expando]=void 0:delete owner[this.expando])}},hasData:function(owner){var cache=owner[this.expando];return void 0!==cache&&!jQuery.isEmptyObject(cache)}};var dataPriv=new Data,dataUser=new Data,rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,rmultiDash=/[A-Z]/g;jQuery.extend({hasData:function(elem){return dataUser.hasData(elem)||dataPriv.hasData(elem)},data:function(elem,name,data){return dataUser.access(elem,name,data)},removeData:function(elem,name){dataUser.remove(elem,name)},_data:function(elem,name,data){return dataPriv.access(elem,name,data)},_removeData:function(elem,name){dataPriv.remove(elem,name)}}),jQuery.fn.extend({data:function(key,value){var i,name,data,elem=this[0],attrs=elem&&elem.attributes;if(void 0===key){if(this.length&&(data=dataUser.get(elem),1===elem.nodeType&&!dataPriv.get(elem,"hasDataAttrs"))){for(i=attrs.length;i--;)attrs[i]&&(name=attrs[i].name,0===name.indexOf("data-")&&(name=jQuery.camelCase(name.slice(5)),dataAttr(elem,name,data[name])));dataPriv.set(elem,"hasDataAttrs",!0)}return data}return"object"==typeof key?this.each(function(){dataUser.set(this,key)}):access(this,function(value){var data;if(elem&&void 0===value){if(data=dataUser.get(elem,key),void 0!==data)return data;if(data=dataAttr(elem,key),void 0!==data)return data}else this.each(function(){dataUser.set(this,key,value)})},null,value,arguments.length>1,null,!0)},removeData:function(key){return this.each(function(){dataUser.remove(this,key)})}}),jQuery.extend({queue:function(elem,type,data){var queue;if(elem)return type=(type||"fx")+"queue",queue=dataPriv.get(elem,type),data&&(!queue||jQuery.isArray(data)?queue=dataPriv.access(elem,type,jQuery.makeArray(data)):queue.push(data)),queue||[]},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),startLength=queue.length,fn=queue.shift(),hooks=jQuery._queueHooks(elem,type),next=function(){jQuery.dequeue(elem,type)};"inprogress"===fn&&(fn=queue.shift(),startLength--),fn&&("fx"===type&&queue.unshift("inprogress"),delete hooks.stop,fn.call(elem,next,hooks)),!startLength&&hooks&&hooks.empty.fire()},_queueHooks:function(elem,type){var key=type+"queueHooks";return dataPriv.get(elem,key)||dataPriv.access(elem,key,{empty:jQuery.Callbacks("once memory").add(function(){dataPriv.remove(elem,[type+"queue",key])})})}}),jQuery.fn.extend({queue:function(type,data){var setter=2;return"string"!=typeof type&&(data=type,type="fx",setter--),arguments.length<setter?jQuery.queue(this[0],type):void 0===data?this:this.each(function(){var queue=jQuery.queue(this,type,data);jQuery._queueHooks(this,type),"fx"===type&&"inprogress"!==queue[0]&&jQuery.dequeue(this,type)})},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type)})},clearQueue:function(type){return this.queue(type||"fx",[])},promise:function(type,obj){var tmp,count=1,defer=jQuery.Deferred(),elements=this,i=this.length,resolve=function(){--count||defer.resolveWith(elements,[elements])};for("string"!=typeof type&&(obj=type,type=void 0),type=type||"fx";i--;)tmp=dataPriv.get(elements[i],type+"queueHooks"),tmp&&tmp.empty&&(count++,tmp.empty.add(resolve));return resolve(),defer.promise(obj)}});var pnum=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,rcssNum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i"),cssExpand=["Top","Right","Bottom","Left"],isHiddenWithinTree=function(elem,el){return elem=el||elem,"none"===elem.style.display||""===elem.style.display&&jQuery.contains(elem.ownerDocument,elem)&&"none"===jQuery.css(elem,"display")},swap=function(elem,options,callback,args){var ret,name,old={};for(name in options)old[name]=elem.style[name],elem.style[name]=options[name];ret=callback.apply(elem,args||[]);for(name in options)elem.style[name]=old[name];return ret},defaultDisplayMap={};jQuery.fn.extend({show:function(){return showHide(this,!0)},hide:function(){return showHide(this)},toggle:function(state){return"boolean"==typeof state?state?this.show():this.hide():this.each(function(){isHiddenWithinTree(this)?jQuery(this).show():jQuery(this).hide()})}});var rcheckableType=/^(?:checkbox|radio)$/i,rtagName=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,rscriptType=/^$|\/(?:java|ecma)script/i,wrapMap={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};wrapMap.optgroup=wrapMap.option,wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead,wrapMap.th=wrapMap.td;var rhtml=/<|&#?\w+;/;!function(){var fragment=document.createDocumentFragment(),div=fragment.appendChild(document.createElement("div")),input=document.createElement("input");input.setAttribute("type","radio"),input.setAttribute("checked","checked"),input.setAttribute("name","t"),div.appendChild(input),support.checkClone=div.cloneNode(!0).cloneNode(!0).lastChild.checked,div.innerHTML="<textarea>x</textarea>",support.noCloneChecked=!!div.cloneNode(!0).lastChild.defaultValue}();var documentElement=document.documentElement,rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,rtypenamespace=/^([^.]*)(?:\.(.+)|)/;jQuery.event={global:{},add:function(elem,types,handler,data,selector){var handleObjIn,eventHandle,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.get(elem);if(elemData)for(handler.handler&&(handleObjIn=handler,handler=handleObjIn.handler,selector=handleObjIn.selector),selector&&jQuery.find.matchesSelector(documentElement,selector),handler.guid||(handler.guid=jQuery.guid++),(events=elemData.events)||(events=elemData.events={}),(eventHandle=elemData.handle)||(eventHandle=elemData.handle=function(e){return"undefined"!=typeof jQuery&&jQuery.event.triggered!==e.type?jQuery.event.dispatch.apply(elem,arguments):void 0}),types=(types||"").match(rnothtmlwhite)||[""],t=types.length;t--;)tmp=rtypenamespace.exec(types[t])||[],type=origType=tmp[1],namespaces=(tmp[2]||"").split(".").sort(),type&&(special=jQuery.event.special[type]||{},type=(selector?special.delegateType:special.bindType)||type,special=jQuery.event.special[type]||{},handleObj=jQuery.extend({type:type,origType:origType,data:data,handler:handler,guid:handler.guid,selector:selector,needsContext:selector&&jQuery.expr.match.needsContext.test(selector),namespace:namespaces.join(".")},handleObjIn),(handlers=events[type])||(handlers=events[type]=[],handlers.delegateCount=0,special.setup&&special.setup.call(elem,data,namespaces,eventHandle)!==!1||elem.addEventListener&&elem.addEventListener(type,eventHandle)),special.add&&(special.add.call(elem,handleObj),handleObj.handler.guid||(handleObj.handler.guid=handler.guid)),selector?handlers.splice(handlers.delegateCount++,0,handleObj):handlers.push(handleObj),jQuery.event.global[type]=!0)},remove:function(elem,types,handler,selector,mappedTypes){var j,origCount,tmp,events,t,handleObj,special,handlers,type,namespaces,origType,elemData=dataPriv.hasData(elem)&&dataPriv.get(elem);if(elemData&&(events=elemData.events)){for(types=(types||"").match(rnothtmlwhite)||[""],t=types.length;t--;)if(tmp=rtypenamespace.exec(types[t])||[],type=origType=tmp[1],namespaces=(tmp[2]||"").split(".").sort(),type){for(special=jQuery.event.special[type]||{},type=(selector?special.delegateType:special.bindType)||type,handlers=events[type]||[],tmp=tmp[2]&&new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"),origCount=j=handlers.length;j--;)handleObj=handlers[j],!mappedTypes&&origType!==handleObj.origType||handler&&handler.guid!==handleObj.guid||tmp&&!tmp.test(handleObj.namespace)||selector&&selector!==handleObj.selector&&("**"!==selector||!handleObj.selector)||(handlers.splice(j,1),handleObj.selector&&handlers.delegateCount--,special.remove&&special.remove.call(elem,handleObj));origCount&&!handlers.length&&(special.teardown&&special.teardown.call(elem,namespaces,elemData.handle)!==!1||jQuery.removeEvent(elem,type,elemData.handle),delete events[type])}else for(type in events)jQuery.event.remove(elem,type+types[t],handler,selector,!0);jQuery.isEmptyObject(events)&&dataPriv.remove(elem,"handle events")}},dispatch:function(nativeEvent){var i,j,ret,matched,handleObj,handlerQueue,event=jQuery.event.fix(nativeEvent),args=new Array(arguments.length),handlers=(dataPriv.get(this,"events")||{})[event.type]||[],special=jQuery.event.special[event.type]||{};for(args[0]=event,i=1;i<arguments.length;i++)args[i]=arguments[i];if(event.delegateTarget=this,!special.preDispatch||special.preDispatch.call(this,event)!==!1){for(handlerQueue=jQuery.event.handlers.call(this,event,handlers),i=0;(matched=handlerQueue[i++])&&!event.isPropagationStopped();)for(event.currentTarget=matched.elem,j=0;(handleObj=matched.handlers[j++])&&!event.isImmediatePropagationStopped();)event.rnamespace&&!event.rnamespace.test(handleObj.namespace)||(event.handleObj=handleObj,event.data=handleObj.data,ret=((jQuery.event.special[handleObj.origType]||{}).handle||handleObj.handler).apply(matched.elem,args),void 0!==ret&&(event.result=ret)===!1&&(event.preventDefault(),event.stopPropagation()));return special.postDispatch&&special.postDispatch.call(this,event),event.result}},handlers:function(event,handlers){var i,handleObj,sel,matchedHandlers,matchedSelectors,handlerQueue=[],delegateCount=handlers.delegateCount,cur=event.target;if(delegateCount&&cur.nodeType&&!("click"===event.type&&event.button>=1))for(;cur!==this;cur=cur.parentNode||this)if(1===cur.nodeType&&("click"!==event.type||cur.disabled!==!0)){for(matchedHandlers=[],matchedSelectors={},i=0;i<delegateCount;i++)handleObj=handlers[i],sel=handleObj.selector+" ",void 0===matchedSelectors[sel]&&(matchedSelectors[sel]=handleObj.needsContext?jQuery(sel,this).index(cur)>-1:jQuery.find(sel,this,null,[cur]).length),matchedSelectors[sel]&&matchedHandlers.push(handleObj);matchedHandlers.length&&handlerQueue.push({elem:cur,handlers:matchedHandlers})}return cur=this,delegateCount<handlers.length&&handlerQueue.push({elem:cur,handlers:handlers.slice(delegateCount)}),handlerQueue},addProp:function(name,hook){Object.defineProperty(jQuery.Event.prototype,name,{enumerable:!0,configurable:!0,get:jQuery.isFunction(hook)?function(){if(this.originalEvent)return hook(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[name]},set:function(value){Object.defineProperty(this,name,{enumerable:!0,configurable:!0,writable:!0,value:value})}})},fix:function(originalEvent){return originalEvent[jQuery.expando]?originalEvent:new jQuery.Event(originalEvent)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==safeActiveElement()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===safeActiveElement()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&jQuery.nodeName(this,"input"))return this.click(),!1},_default:function(event){return jQuery.nodeName(event.target,"a")}},beforeunload:{postDispatch:function(event){void 0!==event.result&&event.originalEvent&&(event.originalEvent.returnValue=event.result)}}}},jQuery.removeEvent=function(elem,type,handle){elem.removeEventListener&&elem.removeEventListener(type,handle)},jQuery.Event=function(src,props){return this instanceof jQuery.Event?(src&&src.type?(this.originalEvent=src,this.type=src.type,this.isDefaultPrevented=src.defaultPrevented||void 0===src.defaultPrevented&&src.returnValue===!1?returnTrue:returnFalse,this.target=src.target&&3===src.target.nodeType?src.target.parentNode:src.target,this.currentTarget=src.currentTarget,this.relatedTarget=src.relatedTarget):this.type=src,props&&jQuery.extend(this,props),this.timeStamp=src&&src.timeStamp||jQuery.now(),void(this[jQuery.expando]=!0)):new jQuery.Event(src,props)},jQuery.Event.prototype={constructor:jQuery.Event,isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},jQuery.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(event){var button=event.button;return null==event.which&&rkeyEvent.test(event.type)?null!=event.charCode?event.charCode:event.keyCode:!event.which&&void 0!==button&&rmouseEvent.test(event.type)?1&button?1:2&button?3:4&button?2:0:event.which}},jQuery.event.addProp),jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(orig,fix){jQuery.event.special[orig]={delegateType:fix,bindType:fix,handle:function(event){var ret,target=this,related=event.relatedTarget,handleObj=event.handleObj;return related&&(related===target||jQuery.contains(target,related))||(event.type=handleObj.origType,ret=handleObj.handler.apply(this,arguments),event.type=fix),ret}}}),jQuery.fn.extend({on:function(types,selector,data,fn){return on(this,types,selector,data,fn)},one:function(types,selector,data,fn){return on(this,types,selector,data,fn,1)},off:function(types,selector,fn){var handleObj,type;if(types&&types.preventDefault&&types.handleObj)return handleObj=types.handleObj,jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+"."+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler),this;if("object"==typeof types){for(type in types)this.off(type,selector,types[type]);return this}return selector!==!1&&"function"!=typeof selector||(fn=selector,selector=void 0),fn===!1&&(fn=returnFalse),this.each(function(){jQuery.event.remove(this,types,fn,selector)})}});var rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,rnoInnerhtml=/<script|<style|<link/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,rscriptTypeMasked=/^true\/(.*)/,rcleanScript=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;jQuery.extend({htmlPrefilter:function(html){return html.replace(rxhtmlTag,"<$1></$2>")},clone:function(elem,dataAndEvents,deepDataAndEvents){var i,l,srcElements,destElements,clone=elem.cloneNode(!0),inPage=jQuery.contains(elem.ownerDocument,elem);if(!(support.noCloneChecked||1!==elem.nodeType&&11!==elem.nodeType||jQuery.isXMLDoc(elem)))for(destElements=getAll(clone),srcElements=getAll(elem),i=0,l=srcElements.length;i<l;i++)fixInput(srcElements[i],destElements[i]);if(dataAndEvents)if(deepDataAndEvents)for(srcElements=srcElements||getAll(elem),destElements=destElements||getAll(clone),i=0,l=srcElements.length;i<l;i++)cloneCopyEvent(srcElements[i],destElements[i]);else cloneCopyEvent(elem,clone);return destElements=getAll(clone,"script"),destElements.length>0&&setGlobalEval(destElements,!inPage&&getAll(elem,"script")),clone},cleanData:function(elems){for(var data,elem,type,special=jQuery.event.special,i=0;void 0!==(elem=elems[i]);i++)if(acceptData(elem)){if(data=elem[dataPriv.expando]){if(data.events)for(type in data.events)special[type]?jQuery.event.remove(elem,type):jQuery.removeEvent(elem,type,data.handle);elem[dataPriv.expando]=void 0}elem[dataUser.expando]&&(elem[dataUser.expando]=void 0)}}}),jQuery.fn.extend({detach:function(selector){return remove(this,selector,!0)},remove:function(selector){return remove(this,selector)},text:function(value){return access(this,function(value){return void 0===value?jQuery.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=value)})},null,value,arguments.length)},append:function(){return domManip(this,arguments,function(elem){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var target=manipulationTarget(this,elem);target.appendChild(elem)}})},prepend:function(){return domManip(this,arguments,function(elem){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var target=manipulationTarget(this,elem);target.insertBefore(elem,target.firstChild)}})},before:function(){return domManip(this,arguments,function(elem){this.parentNode&&this.parentNode.insertBefore(elem,this)})},after:function(){return domManip(this,arguments,function(elem){this.parentNode&&this.parentNode.insertBefore(elem,this.nextSibling)})},empty:function(){for(var elem,i=0;null!=(elem=this[i]);i++)1===elem.nodeType&&(jQuery.cleanData(getAll(elem,!1)),elem.textContent="");return this},clone:function(dataAndEvents,deepDataAndEvents){return dataAndEvents=null!=dataAndEvents&&dataAndEvents,deepDataAndEvents=null==deepDataAndEvents?dataAndEvents:deepDataAndEvents,this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents)})},html:function(value){return access(this,function(value){var elem=this[0]||{},i=0,l=this.length;if(void 0===value&&1===elem.nodeType)return elem.innerHTML;if("string"==typeof value&&!rnoInnerhtml.test(value)&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=jQuery.htmlPrefilter(value);try{for(;i<l;i++)elem=this[i]||{},1===elem.nodeType&&(jQuery.cleanData(getAll(elem,!1)),elem.innerHTML=value);elem=0}catch(e){}}elem&&this.empty().append(value)},null,value,arguments.length)},replaceWith:function(){var ignored=[];return domManip(this,arguments,function(elem){var parent=this.parentNode;jQuery.inArray(this,ignored)<0&&(jQuery.cleanData(getAll(this)),parent&&parent.replaceChild(elem,this))},ignored)}}),jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){for(var elems,ret=[],insert=jQuery(selector),last=insert.length-1,i=0;i<=last;i++)elems=i===last?this:this.clone(!0),jQuery(insert[i])[original](elems),push.apply(ret,elems.get());return this.pushStack(ret)}});var rmargin=/^margin/,rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i"),getStyles=function(elem){var view=elem.ownerDocument.defaultView;return view&&view.opener||(view=window),view.getComputedStyle(elem)};!function(){function computeStyleTests(){if(div){div.style.cssText="box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",div.innerHTML="",documentElement.appendChild(container);var divStyle=window.getComputedStyle(div);pixelPositionVal="1%"!==divStyle.top,reliableMarginLeftVal="2px"===divStyle.marginLeft,boxSizingReliableVal="4px"===divStyle.width,div.style.marginRight="50%",pixelMarginRightVal="4px"===divStyle.marginRight,documentElement.removeChild(container),div=null}}var pixelPositionVal,boxSizingReliableVal,pixelMarginRightVal,reliableMarginLeftVal,container=document.createElement("div"),div=document.createElement("div");div.style&&(div.style.backgroundClip="content-box",div.cloneNode(!0).style.backgroundClip="",support.clearCloneStyle="content-box"===div.style.backgroundClip,container.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",container.appendChild(div),jQuery.extend(support,{
+pixelPosition:function(){return computeStyleTests(),pixelPositionVal},boxSizingReliable:function(){return computeStyleTests(),boxSizingReliableVal},pixelMarginRight:function(){return computeStyleTests(),pixelMarginRightVal},reliableMarginLeft:function(){return computeStyleTests(),reliableMarginLeftVal}}))}();var rdisplayswap=/^(none|table(?!-c[ea]).+)/,cssShow={position:"absolute",visibility:"hidden",display:"block"},cssNormalTransform={letterSpacing:"0",fontWeight:"400"},cssPrefixes=["Webkit","Moz","ms"],emptyStyle=document.createElement("div").style;jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity");return""===ret?"1":ret}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(elem,name,value,extra){if(elem&&3!==elem.nodeType&&8!==elem.nodeType&&elem.style){var ret,type,hooks,origName=jQuery.camelCase(name),style=elem.style;return name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(origName)||origName),hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName],void 0===value?hooks&&"get"in hooks&&void 0!==(ret=hooks.get(elem,!1,extra))?ret:style[name]:(type=typeof value,"string"===type&&(ret=rcssNum.exec(value))&&ret[1]&&(value=adjustCSS(elem,name,ret),type="number"),null!=value&&value===value&&("number"===type&&(value+=ret&&ret[3]||(jQuery.cssNumber[origName]?"":"px")),support.clearCloneStyle||""!==value||0!==name.indexOf("background")||(style[name]="inherit"),hooks&&"set"in hooks&&void 0===(value=hooks.set(elem,value,extra))||(style[name]=value)),void 0)}},css:function(elem,name,extra,styles){var val,num,hooks,origName=jQuery.camelCase(name);return name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(origName)||origName),hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName],hooks&&"get"in hooks&&(val=hooks.get(elem,!0,extra)),void 0===val&&(val=curCSS(elem,name,styles)),"normal"===val&&name in cssNormalTransform&&(val=cssNormalTransform[name]),""===extra||extra?(num=parseFloat(val),extra===!0||isFinite(num)?num||0:val):val}}),jQuery.each(["height","width"],function(i,name){jQuery.cssHooks[name]={get:function(elem,computed,extra){if(computed)return!rdisplayswap.test(jQuery.css(elem,"display"))||elem.getClientRects().length&&elem.getBoundingClientRect().width?getWidthOrHeight(elem,name,extra):swap(elem,cssShow,function(){return getWidthOrHeight(elem,name,extra)})},set:function(elem,value,extra){var matches,styles=extra&&getStyles(elem),subtract=extra&&augmentWidthOrHeight(elem,name,extra,"border-box"===jQuery.css(elem,"boxSizing",!1,styles),styles);return subtract&&(matches=rcssNum.exec(value))&&"px"!==(matches[3]||"px")&&(elem.style[name]=value,value=jQuery.css(elem,name)),setPositiveNumber(elem,value,subtract)}}}),jQuery.cssHooks.marginLeft=addGetHookIf(support.reliableMarginLeft,function(elem,computed){if(computed)return(parseFloat(curCSS(elem,"marginLeft"))||elem.getBoundingClientRect().left-swap(elem,{marginLeft:0},function(){return elem.getBoundingClientRect().left}))+"px"}),jQuery.each({margin:"",padding:"",border:"Width"},function(prefix,suffix){jQuery.cssHooks[prefix+suffix]={expand:function(value){for(var i=0,expanded={},parts="string"==typeof value?value.split(" "):[value];i<4;i++)expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0];return expanded}},rmargin.test(prefix)||(jQuery.cssHooks[prefix+suffix].set=setPositiveNumber)}),jQuery.fn.extend({css:function(name,value){return access(this,function(elem,name,value){var styles,len,map={},i=0;if(jQuery.isArray(name)){for(styles=getStyles(elem),len=name.length;i<len;i++)map[name[i]]=jQuery.css(elem,name[i],!1,styles);return map}return void 0!==value?jQuery.style(elem,name,value):jQuery.css(elem,name)},name,value,arguments.length>1)}}),jQuery.Tween=Tween,Tween.prototype={constructor:Tween,init:function(elem,options,prop,end,easing,unit){this.elem=elem,this.prop=prop,this.easing=easing||jQuery.easing._default,this.options=options,this.start=this.now=this.cur(),this.end=end,this.unit=unit||(jQuery.cssNumber[prop]?"":"px")},cur:function(){var hooks=Tween.propHooks[this.prop];return hooks&&hooks.get?hooks.get(this):Tween.propHooks._default.get(this)},run:function(percent){var eased,hooks=Tween.propHooks[this.prop];return this.options.duration?this.pos=eased=jQuery.easing[this.easing](percent,this.options.duration*percent,0,1,this.options.duration):this.pos=eased=percent,this.now=(this.end-this.start)*eased+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),hooks&&hooks.set?hooks.set(this):Tween.propHooks._default.set(this),this}},Tween.prototype.init.prototype=Tween.prototype,Tween.propHooks={_default:{get:function(tween){var result;return 1!==tween.elem.nodeType||null!=tween.elem[tween.prop]&&null==tween.elem.style[tween.prop]?tween.elem[tween.prop]:(result=jQuery.css(tween.elem,tween.prop,""),result&&"auto"!==result?result:0)},set:function(tween){jQuery.fx.step[tween.prop]?jQuery.fx.step[tween.prop](tween):1!==tween.elem.nodeType||null==tween.elem.style[jQuery.cssProps[tween.prop]]&&!jQuery.cssHooks[tween.prop]?tween.elem[tween.prop]=tween.now:jQuery.style(tween.elem,tween.prop,tween.now+tween.unit)}}},Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(tween){tween.elem.nodeType&&tween.elem.parentNode&&(tween.elem[tween.prop]=tween.now)}},jQuery.easing={linear:function(p){return p},swing:function(p){return.5-Math.cos(p*Math.PI)/2},_default:"swing"},jQuery.fx=Tween.prototype.init,jQuery.fx.step={};var fxNow,timerId,rfxtypes=/^(?:toggle|show|hide)$/,rrun=/queueHooks$/;jQuery.Animation=jQuery.extend(Animation,{tweeners:{"*":[function(prop,value){var tween=this.createTween(prop,value);return adjustCSS(tween.elem,prop,rcssNum.exec(value),tween),tween}]},tweener:function(props,callback){jQuery.isFunction(props)?(callback=props,props=["*"]):props=props.match(rnothtmlwhite);for(var prop,index=0,length=props.length;index<length;index++)prop=props[index],Animation.tweeners[prop]=Animation.tweeners[prop]||[],Animation.tweeners[prop].unshift(callback)},prefilters:[defaultPrefilter],prefilter:function(callback,prepend){prepend?Animation.prefilters.unshift(callback):Animation.prefilters.push(callback)}}),jQuery.speed=function(speed,easing,fn){var opt=speed&&"object"==typeof speed?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};return jQuery.fx.off||document.hidden?opt.duration=0:"number"!=typeof opt.duration&&(opt.duration in jQuery.fx.speeds?opt.duration=jQuery.fx.speeds[opt.duration]:opt.duration=jQuery.fx.speeds._default),null!=opt.queue&&opt.queue!==!0||(opt.queue="fx"),opt.old=opt.complete,opt.complete=function(){jQuery.isFunction(opt.old)&&opt.old.call(this),opt.queue&&jQuery.dequeue(this,opt.queue)},opt},jQuery.fn.extend({fadeTo:function(speed,to,easing,callback){return this.filter(isHiddenWithinTree).css("opacity",0).show().end().animate({opacity:to},speed,easing,callback)},animate:function(prop,speed,easing,callback){var empty=jQuery.isEmptyObject(prop),optall=jQuery.speed(speed,easing,callback),doAnimation=function(){var anim=Animation(this,jQuery.extend({},prop),optall);(empty||dataPriv.get(this,"finish"))&&anim.stop(!0)};return doAnimation.finish=doAnimation,empty||optall.queue===!1?this.each(doAnimation):this.queue(optall.queue,doAnimation)},stop:function(type,clearQueue,gotoEnd){var stopQueue=function(hooks){var stop=hooks.stop;delete hooks.stop,stop(gotoEnd)};return"string"!=typeof type&&(gotoEnd=clearQueue,clearQueue=type,type=void 0),clearQueue&&type!==!1&&this.queue(type||"fx",[]),this.each(function(){var dequeue=!0,index=null!=type&&type+"queueHooks",timers=jQuery.timers,data=dataPriv.get(this);if(index)data[index]&&data[index].stop&&stopQueue(data[index]);else for(index in data)data[index]&&data[index].stop&&rrun.test(index)&&stopQueue(data[index]);for(index=timers.length;index--;)timers[index].elem!==this||null!=type&&timers[index].queue!==type||(timers[index].anim.stop(gotoEnd),dequeue=!1,timers.splice(index,1));!dequeue&&gotoEnd||jQuery.dequeue(this,type)})},finish:function(type){return type!==!1&&(type=type||"fx"),this.each(function(){var index,data=dataPriv.get(this),queue=data[type+"queue"],hooks=data[type+"queueHooks"],timers=jQuery.timers,length=queue?queue.length:0;for(data.finish=!0,jQuery.queue(this,type,[]),hooks&&hooks.stop&&hooks.stop.call(this,!0),index=timers.length;index--;)timers[index].elem===this&&timers[index].queue===type&&(timers[index].anim.stop(!0),timers.splice(index,1));for(index=0;index<length;index++)queue[index]&&queue[index].finish&&queue[index].finish.call(this);delete data.finish})}}),jQuery.each(["toggle","show","hide"],function(i,name){var cssFn=jQuery.fn[name];jQuery.fn[name]=function(speed,easing,callback){return null==speed||"boolean"==typeof speed?cssFn.apply(this,arguments):this.animate(genFx(name,!0),speed,easing,callback)}}),jQuery.each({slideDown:genFx("show"),slideUp:genFx("hide"),slideToggle:genFx("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback)}}),jQuery.timers=[],jQuery.fx.tick=function(){var timer,i=0,timers=jQuery.timers;for(fxNow=jQuery.now();i<timers.length;i++)timer=timers[i],timer()||timers[i]!==timer||timers.splice(i--,1);timers.length||jQuery.fx.stop(),fxNow=void 0},jQuery.fx.timer=function(timer){jQuery.timers.push(timer),timer()?jQuery.fx.start():jQuery.timers.pop()},jQuery.fx.interval=13,jQuery.fx.start=function(){timerId||(timerId=window.requestAnimationFrame?window.requestAnimationFrame(raf):window.setInterval(jQuery.fx.tick,jQuery.fx.interval))},jQuery.fx.stop=function(){window.cancelAnimationFrame?window.cancelAnimationFrame(timerId):window.clearInterval(timerId),timerId=null},jQuery.fx.speeds={slow:600,fast:200,_default:400},jQuery.fn.delay=function(time,type){return time=jQuery.fx?jQuery.fx.speeds[time]||time:time,type=type||"fx",this.queue(type,function(next,hooks){var timeout=window.setTimeout(next,time);hooks.stop=function(){window.clearTimeout(timeout)}})},function(){var input=document.createElement("input"),select=document.createElement("select"),opt=select.appendChild(document.createElement("option"));input.type="checkbox",support.checkOn=""!==input.value,support.optSelected=opt.selected,input=document.createElement("input"),input.value="t",input.type="radio",support.radioValue="t"===input.value}();var boolHook,attrHandle=jQuery.expr.attrHandle;jQuery.fn.extend({attr:function(name,value){return access(this,jQuery.attr,name,value,arguments.length>1)},removeAttr:function(name){return this.each(function(){jQuery.removeAttr(this,name)})}}),jQuery.extend({attr:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(3!==nType&&8!==nType&&2!==nType)return"undefined"==typeof elem.getAttribute?jQuery.prop(elem,name,value):(1===nType&&jQuery.isXMLDoc(elem)||(hooks=jQuery.attrHooks[name.toLowerCase()]||(jQuery.expr.match.bool.test(name)?boolHook:void 0)),void 0!==value?null===value?void jQuery.removeAttr(elem,name):hooks&&"set"in hooks&&void 0!==(ret=hooks.set(elem,value,name))?ret:(elem.setAttribute(name,value+""),value):hooks&&"get"in hooks&&null!==(ret=hooks.get(elem,name))?ret:(ret=jQuery.find.attr(elem,name),null==ret?void 0:ret))},attrHooks:{type:{set:function(elem,value){if(!support.radioValue&&"radio"===value&&jQuery.nodeName(elem,"input")){var val=elem.value;return elem.setAttribute("type",value),val&&(elem.value=val),value}}}},removeAttr:function(elem,value){var name,i=0,attrNames=value&&value.match(rnothtmlwhite);if(attrNames&&1===elem.nodeType)for(;name=attrNames[i++];)elem.removeAttribute(name)}}),boolHook={set:function(elem,value,name){return value===!1?jQuery.removeAttr(elem,name):elem.setAttribute(name,name),name}},jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g),function(i,name){var getter=attrHandle[name]||jQuery.find.attr;attrHandle[name]=function(elem,name,isXML){var ret,handle,lowercaseName=name.toLowerCase();return isXML||(handle=attrHandle[lowercaseName],attrHandle[lowercaseName]=ret,ret=null!=getter(elem,name,isXML)?lowercaseName:null,attrHandle[lowercaseName]=handle),ret}});var rfocusable=/^(?:input|select|textarea|button)$/i,rclickable=/^(?:a|area)$/i;jQuery.fn.extend({prop:function(name,value){return access(this,jQuery.prop,name,value,arguments.length>1)},removeProp:function(name){return this.each(function(){delete this[jQuery.propFix[name]||name]})}}),jQuery.extend({prop:function(elem,name,value){var ret,hooks,nType=elem.nodeType;if(3!==nType&&8!==nType&&2!==nType)return 1===nType&&jQuery.isXMLDoc(elem)||(name=jQuery.propFix[name]||name,hooks=jQuery.propHooks[name]),void 0!==value?hooks&&"set"in hooks&&void 0!==(ret=hooks.set(elem,value,name))?ret:elem[name]=value:hooks&&"get"in hooks&&null!==(ret=hooks.get(elem,name))?ret:elem[name]},propHooks:{tabIndex:{get:function(elem){var tabindex=jQuery.find.attr(elem,"tabindex");return tabindex?parseInt(tabindex,10):rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),support.optSelected||(jQuery.propHooks.selected={get:function(elem){var parent=elem.parentNode;return parent&&parent.parentNode&&parent.parentNode.selectedIndex,null},set:function(elem){var parent=elem.parentNode;parent&&(parent.selectedIndex,parent.parentNode&&parent.parentNode.selectedIndex)}}),jQuery.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){jQuery.propFix[this.toLowerCase()]=this}),jQuery.fn.extend({addClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(jQuery.isFunction(value))return this.each(function(j){jQuery(this).addClass(value.call(this,j,getClass(this)))});if("string"==typeof value&&value)for(classes=value.match(rnothtmlwhite)||[];elem=this[i++];)if(curValue=getClass(elem),cur=1===elem.nodeType&&" "+stripAndCollapse(curValue)+" "){for(j=0;clazz=classes[j++];)cur.indexOf(" "+clazz+" ")<0&&(cur+=clazz+" ");finalValue=stripAndCollapse(cur),curValue!==finalValue&&elem.setAttribute("class",finalValue)}return this},removeClass:function(value){var classes,elem,cur,curValue,clazz,j,finalValue,i=0;if(jQuery.isFunction(value))return this.each(function(j){jQuery(this).removeClass(value.call(this,j,getClass(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof value&&value)for(classes=value.match(rnothtmlwhite)||[];elem=this[i++];)if(curValue=getClass(elem),cur=1===elem.nodeType&&" "+stripAndCollapse(curValue)+" "){for(j=0;clazz=classes[j++];)for(;cur.indexOf(" "+clazz+" ")>-1;)cur=cur.replace(" "+clazz+" "," ");finalValue=stripAndCollapse(cur),curValue!==finalValue&&elem.setAttribute("class",finalValue)}return this},toggleClass:function(value,stateVal){var type=typeof value;return"boolean"==typeof stateVal&&"string"===type?stateVal?this.addClass(value):this.removeClass(value):jQuery.isFunction(value)?this.each(function(i){jQuery(this).toggleClass(value.call(this,i,getClass(this),stateVal),stateVal)}):this.each(function(){var className,i,self,classNames;if("string"===type)for(i=0,self=jQuery(this),classNames=value.match(rnothtmlwhite)||[];className=classNames[i++];)self.hasClass(className)?self.removeClass(className):self.addClass(className);else void 0!==value&&"boolean"!==type||(className=getClass(this),className&&dataPriv.set(this,"__className__",className),this.setAttribute&&this.setAttribute("class",className||value===!1?"":dataPriv.get(this,"__className__")||""))})},hasClass:function(selector){var className,elem,i=0;for(className=" "+selector+" ";elem=this[i++];)if(1===elem.nodeType&&(" "+stripAndCollapse(getClass(elem))+" ").indexOf(className)>-1)return!0;return!1}});var rreturn=/\r/g;jQuery.fn.extend({val:function(value){var hooks,ret,isFunction,elem=this[0];{if(arguments.length)return isFunction=jQuery.isFunction(value),this.each(function(i){var val;1===this.nodeType&&(val=isFunction?value.call(this,i,jQuery(this).val()):value,null==val?val="":"number"==typeof val?val+="":jQuery.isArray(val)&&(val=jQuery.map(val,function(value){return null==value?"":value+""})),hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()],hooks&&"set"in hooks&&void 0!==hooks.set(this,val,"value")||(this.value=val))});if(elem)return hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()],hooks&&"get"in hooks&&void 0!==(ret=hooks.get(elem,"value"))?ret:(ret=elem.value,"string"==typeof ret?ret.replace(rreturn,""):null==ret?"":ret)}}}),jQuery.extend({valHooks:{option:{get:function(elem){var val=jQuery.find.attr(elem,"value");return null!=val?val:stripAndCollapse(jQuery.text(elem))}},select:{get:function(elem){var value,option,i,options=elem.options,index=elem.selectedIndex,one="select-one"===elem.type,values=one?null:[],max=one?index+1:options.length;for(i=index<0?max:one?index:0;i<max;i++)if(option=options[i],(option.selected||i===index)&&!option.disabled&&(!option.parentNode.disabled||!jQuery.nodeName(option.parentNode,"optgroup"))){if(value=jQuery(option).val(),one)return value;values.push(value)}return values},set:function(elem,value){for(var optionSet,option,options=elem.options,values=jQuery.makeArray(value),i=options.length;i--;)option=options[i],(option.selected=jQuery.inArray(jQuery.valHooks.option.get(option),values)>-1)&&(optionSet=!0);return optionSet||(elem.selectedIndex=-1),values}}}}),jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]={set:function(elem,value){if(jQuery.isArray(value))return elem.checked=jQuery.inArray(jQuery(elem).val(),value)>-1}},support.checkOn||(jQuery.valHooks[this].get=function(elem){return null===elem.getAttribute("value")?"on":elem.value})});var rfocusMorph=/^(?:focusinfocus|focusoutblur)$/;jQuery.extend(jQuery.event,{trigger:function(event,data,elem,onlyHandlers){var i,cur,tmp,bubbleType,ontype,handle,special,eventPath=[elem||document],type=hasOwn.call(event,"type")?event.type:event,namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];if(cur=tmp=elem=elem||document,3!==elem.nodeType&&8!==elem.nodeType&&!rfocusMorph.test(type+jQuery.event.triggered)&&(type.indexOf(".")>-1&&(namespaces=type.split("."),type=namespaces.shift(),namespaces.sort()),ontype=type.indexOf(":")<0&&"on"+type,event=event[jQuery.expando]?event:new jQuery.Event(type,"object"==typeof event&&event),event.isTrigger=onlyHandlers?2:3,event.namespace=namespaces.join("."),event.rnamespace=event.namespace?new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,event.result=void 0,event.target||(event.target=elem),data=null==data?[event]:jQuery.makeArray(data,[event]),special=jQuery.event.special[type]||{},onlyHandlers||!special.trigger||special.trigger.apply(elem,data)!==!1)){if(!onlyHandlers&&!special.noBubble&&!jQuery.isWindow(elem)){for(bubbleType=special.delegateType||type,rfocusMorph.test(bubbleType+type)||(cur=cur.parentNode);cur;cur=cur.parentNode)eventPath.push(cur),tmp=cur;tmp===(elem.ownerDocument||document)&&eventPath.push(tmp.defaultView||tmp.parentWindow||window)}for(i=0;(cur=eventPath[i++])&&!event.isPropagationStopped();)event.type=i>1?bubbleType:special.bindType||type,handle=(dataPriv.get(cur,"events")||{})[event.type]&&dataPriv.get(cur,"handle"),handle&&handle.apply(cur,data),handle=ontype&&cur[ontype],handle&&handle.apply&&acceptData(cur)&&(event.result=handle.apply(cur,data),event.result===!1&&event.preventDefault());return event.type=type,onlyHandlers||event.isDefaultPrevented()||special._default&&special._default.apply(eventPath.pop(),data)!==!1||!acceptData(elem)||ontype&&jQuery.isFunction(elem[type])&&!jQuery.isWindow(elem)&&(tmp=elem[ontype],tmp&&(elem[ontype]=null),jQuery.event.triggered=type,elem[type](),jQuery.event.triggered=void 0,tmp&&(elem[ontype]=tmp)),event.result}},simulate:function(type,elem,event){var e=jQuery.extend(new jQuery.Event,event,{type:type,isSimulated:!0});jQuery.event.trigger(e,null,elem)}}),jQuery.fn.extend({trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this)})},triggerHandler:function(type,data){var elem=this[0];if(elem)return jQuery.event.trigger(type,data,elem,!0)}}),jQuery.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(i,name){jQuery.fn[name]=function(data,fn){return arguments.length>0?this.on(name,null,data,fn):this.trigger(name)}}),jQuery.fn.extend({hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver)}}),support.focusin="onfocusin"in window,support.focusin||jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){var handler=function(event){jQuery.event.simulate(fix,event.target,jQuery.event.fix(event))};jQuery.event.special[fix]={setup:function(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix);attaches||doc.addEventListener(orig,handler,!0),dataPriv.access(doc,fix,(attaches||0)+1)},teardown:function(){var doc=this.ownerDocument||this,attaches=dataPriv.access(doc,fix)-1;attaches?dataPriv.access(doc,fix,attaches):(doc.removeEventListener(orig,handler,!0),dataPriv.remove(doc,fix))}}});var location=window.location,nonce=jQuery.now(),rquery=/\?/;jQuery.parseXML=function(data){var xml;if(!data||"string"!=typeof data)return null;try{xml=(new window.DOMParser).parseFromString(data,"text/xml")}catch(e){xml=void 0}return xml&&!xml.getElementsByTagName("parsererror").length||jQuery.error("Invalid XML: "+data),xml};var rbracket=/\[\]$/,rCRLF=/\r?\n/g,rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,rsubmittable=/^(?:input|select|textarea|keygen)/i;jQuery.param=function(a,traditional){var prefix,s=[],add=function(key,valueOrFunction){var value=jQuery.isFunction(valueOrFunction)?valueOrFunction():valueOrFunction;s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(null==value?"":value)};if(jQuery.isArray(a)||a.jquery&&!jQuery.isPlainObject(a))jQuery.each(a,function(){add(this.name,this.value)});else for(prefix in a)buildParams(prefix,a[prefix],traditional,add);return s.join("&")},jQuery.fn.extend({serialize:function(){return jQuery.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var elements=jQuery.prop(this,"elements");return elements?jQuery.makeArray(elements):this}).filter(function(){var type=this.type;return this.name&&!jQuery(this).is(":disabled")&&rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&(this.checked||!rcheckableType.test(type))}).map(function(i,elem){var val=jQuery(this).val();return null==val?null:jQuery.isArray(val)?jQuery.map(val,function(val){return{name:elem.name,value:val.replace(rCRLF,"\r\n")}}):{name:elem.name,value:val.replace(rCRLF,"\r\n")}}).get()}});var r20=/%20/g,rhash=/#.*$/,rantiCache=/([?&])_=[^&]*/,rheaders=/^(.*?):[ \t]*([^\r\n]*)$/gm,rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,prefilters={},transports={},allTypes="*/".concat("*"),originAnchor=document.createElement("a");originAnchor.href=location.href,jQuery.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:location.href,type:"GET",isLocal:rlocalProtocol.test(location.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":allTypes,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":jQuery.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(target,settings){return settings?ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):ajaxExtend(jQuery.ajaxSettings,target)},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){function done(status,nativeStatusText,responses,headers){var isSuccess,success,error,response,modified,statusText=nativeStatusText;completed||(completed=!0,timeoutTimer&&window.clearTimeout(timeoutTimer),transport=void 0,responseHeadersString=headers||"",jqXHR.readyState=status>0?4:0,isSuccess=status>=200&&status<300||304===status,responses&&(response=ajaxHandleResponses(s,jqXHR,responses)),response=ajaxConvert(s,response,jqXHR,isSuccess),isSuccess?(s.ifModified&&(modified=jqXHR.getResponseHeader("Last-Modified"),modified&&(jQuery.lastModified[cacheURL]=modified),modified=jqXHR.getResponseHeader("etag"),modified&&(jQuery.etag[cacheURL]=modified)),204===status||"HEAD"===s.type?statusText="nocontent":304===status?statusText="notmodified":(statusText=response.state,success=response.data,error=response.error,isSuccess=!error)):(error=statusText,!status&&statusText||(statusText="error",status<0&&(status=0))),jqXHR.status=status,jqXHR.statusText=(nativeStatusText||statusText)+"",isSuccess?deferred.resolveWith(callbackContext,[success,statusText,jqXHR]):deferred.rejectWith(callbackContext,[jqXHR,statusText,error]),jqXHR.statusCode(statusCode),statusCode=void 0,fireGlobals&&globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",[jqXHR,s,isSuccess?success:error]),completeDeferred.fireWith(callbackContext,[jqXHR,statusText]),fireGlobals&&(globalEventContext.trigger("ajaxComplete",[jqXHR,s]),--jQuery.active||jQuery.event.trigger("ajaxStop")))}"object"==typeof url&&(options=url,url=void 0),options=options||{};var transport,cacheURL,responseHeadersString,responseHeaders,timeoutTimer,urlAnchor,completed,fireGlobals,i,uncached,s=jQuery.ajaxSetup({},options),callbackContext=s.context||s,globalEventContext=s.context&&(callbackContext.nodeType||callbackContext.jquery)?jQuery(callbackContext):jQuery.event,deferred=jQuery.Deferred(),completeDeferred=jQuery.Callbacks("once memory"),statusCode=s.statusCode||{},requestHeaders={},requestHeadersNames={},strAbort="canceled",jqXHR={readyState:0,getResponseHeader:function(key){var match;if(completed){if(!responseHeaders)for(responseHeaders={};match=rheaders.exec(responseHeadersString);)responseHeaders[match[1].toLowerCase()]=match[2];match=responseHeaders[key.toLowerCase()]}return null==match?null:match},getAllResponseHeaders:function(){return completed?responseHeadersString:null},setRequestHeader:function(name,value){return null==completed&&(name=requestHeadersNames[name.toLowerCase()]=requestHeadersNames[name.toLowerCase()]||name,requestHeaders[name]=value),this},overrideMimeType:function(type){return null==completed&&(s.mimeType=type),this},statusCode:function(map){var code;if(map)if(completed)jqXHR.always(map[jqXHR.status]);else for(code in map)statusCode[code]=[statusCode[code],map[code]];return this},abort:function(statusText){var finalText=statusText||strAbort;return transport&&transport.abort(finalText),done(0,finalText),this}};if(deferred.promise(jqXHR),s.url=((url||s.url||location.href)+"").replace(rprotocol,location.protocol+"//"),s.type=options.method||options.type||s.method||s.type,s.dataTypes=(s.dataType||"*").toLowerCase().match(rnothtmlwhite)||[""],null==s.crossDomain){urlAnchor=document.createElement("a");try{urlAnchor.href=s.url,urlAnchor.href=urlAnchor.href,s.crossDomain=originAnchor.protocol+"//"+originAnchor.host!=urlAnchor.protocol+"//"+urlAnchor.host}catch(e){s.crossDomain=!0}}if(s.data&&s.processData&&"string"!=typeof s.data&&(s.data=jQuery.param(s.data,s.traditional)),inspectPrefiltersOrTransports(prefilters,s,options,jqXHR),completed)return jqXHR;fireGlobals=jQuery.event&&s.global,fireGlobals&&0===jQuery.active++&&jQuery.event.trigger("ajaxStart"),s.type=s.type.toUpperCase(),s.hasContent=!rnoContent.test(s.type),cacheURL=s.url.replace(rhash,""),s.hasContent?s.data&&s.processData&&0===(s.contentType||"").indexOf("application/x-www-form-urlencoded")&&(s.data=s.data.replace(r20,"+")):(uncached=s.url.slice(cacheURL.length),s.data&&(cacheURL+=(rquery.test(cacheURL)?"&":"?")+s.data,delete s.data),s.cache===!1&&(cacheURL=cacheURL.replace(rantiCache,"$1"),uncached=(rquery.test(cacheURL)?"&":"?")+"_="+nonce++ +uncached),s.url=cacheURL+uncached),s.ifModified&&(jQuery.lastModified[cacheURL]&&jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL]),jQuery.etag[cacheURL]&&jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL])),(s.data&&s.hasContent&&s.contentType!==!1||options.contentType)&&jqXHR.setRequestHeader("Content-Type",s.contentType),jqXHR.setRequestHeader("Accept",s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+("*"!==s.dataTypes[0]?", "+allTypes+"; q=0.01":""):s.accepts["*"]);for(i in s.headers)jqXHR.setRequestHeader(i,s.headers[i]);if(s.beforeSend&&(s.beforeSend.call(callbackContext,jqXHR,s)===!1||completed))return jqXHR.abort();if(strAbort="abort",completeDeferred.add(s.complete),jqXHR.done(s.success),jqXHR.fail(s.error),transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR)){if(jqXHR.readyState=1,fireGlobals&&globalEventContext.trigger("ajaxSend",[jqXHR,s]),completed)return jqXHR;s.async&&s.timeout>0&&(timeoutTimer=window.setTimeout(function(){jqXHR.abort("timeout")},s.timeout));try{completed=!1,transport.send(requestHeaders,done)}catch(e){if(completed)throw e;done(-1,e)}}else done(-1,"No Transport");return jqXHR},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json")},getScript:function(url,callback){return jQuery.get(url,void 0,callback,"script")}}),jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){return jQuery.isFunction(data)&&(type=type||callback,callback=data,data=void 0),jQuery.ajax(jQuery.extend({url:url,type:method,dataType:type,data:data,success:callback},jQuery.isPlainObject(url)&&url))}}),jQuery._evalUrl=function(url){return jQuery.ajax({url:url,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},jQuery.fn.extend({wrapAll:function(html){var wrap;return this[0]&&(jQuery.isFunction(html)&&(html=html.call(this[0])),wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&wrap.insertBefore(this[0]),wrap.map(function(){for(var elem=this;elem.firstElementChild;)elem=elem.firstElementChild;return elem}).append(this)),this},wrapInner:function(html){return jQuery.isFunction(html)?this.each(function(i){jQuery(this).wrapInner(html.call(this,i))}):this.each(function(){var self=jQuery(this),contents=self.contents();contents.length?contents.wrapAll(html):self.append(html)})},wrap:function(html){var isFunction=jQuery.isFunction(html);return this.each(function(i){jQuery(this).wrapAll(isFunction?html.call(this,i):html)})},unwrap:function(selector){return this.parent(selector).not("body").each(function(){jQuery(this).replaceWith(this.childNodes)}),this}}),jQuery.expr.pseudos.hidden=function(elem){return!jQuery.expr.pseudos.visible(elem)},jQuery.expr.pseudos.visible=function(elem){return!!(elem.offsetWidth||elem.offsetHeight||elem.getClientRects().length)},jQuery.ajaxSettings.xhr=function(){try{return new window.XMLHttpRequest}catch(e){}};var xhrSuccessStatus={0:200,1223:204},xhrSupported=jQuery.ajaxSettings.xhr();support.cors=!!xhrSupported&&"withCredentials"in xhrSupported,support.ajax=xhrSupported=!!xhrSupported,jQuery.ajaxTransport(function(options){var callback,errorCallback;if(support.cors||xhrSupported&&!options.crossDomain)return{send:function(headers,complete){var i,xhr=options.xhr();if(xhr.open(options.type,options.url,options.async,options.username,options.password),options.xhrFields)for(i in options.xhrFields)xhr[i]=options.xhrFields[i];options.mimeType&&xhr.overrideMimeType&&xhr.overrideMimeType(options.mimeType),
+options.crossDomain||headers["X-Requested-With"]||(headers["X-Requested-With"]="XMLHttpRequest");for(i in headers)xhr.setRequestHeader(i,headers[i]);callback=function(type){return function(){callback&&(callback=errorCallback=xhr.onload=xhr.onerror=xhr.onabort=xhr.onreadystatechange=null,"abort"===type?xhr.abort():"error"===type?"number"!=typeof xhr.status?complete(0,"error"):complete(xhr.status,xhr.statusText):complete(xhrSuccessStatus[xhr.status]||xhr.status,xhr.statusText,"text"!==(xhr.responseType||"text")||"string"!=typeof xhr.responseText?{binary:xhr.response}:{text:xhr.responseText},xhr.getAllResponseHeaders()))}},xhr.onload=callback(),errorCallback=xhr.onerror=callback("error"),void 0!==xhr.onabort?xhr.onabort=errorCallback:xhr.onreadystatechange=function(){4===xhr.readyState&&window.setTimeout(function(){callback&&errorCallback()})},callback=callback("abort");try{xhr.send(options.hasContent&&options.data||null)}catch(e){if(callback)throw e}},abort:function(){callback&&callback()}}}),jQuery.ajaxPrefilter(function(s){s.crossDomain&&(s.contents.script=!1)}),jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(text){return jQuery.globalEval(text),text}}}),jQuery.ajaxPrefilter("script",function(s){void 0===s.cache&&(s.cache=!1),s.crossDomain&&(s.type="GET")}),jQuery.ajaxTransport("script",function(s){if(s.crossDomain){var script,callback;return{send:function(_,complete){script=jQuery("<script>").prop({charset:s.scriptCharset,src:s.url}).on("load error",callback=function(evt){script.remove(),callback=null,evt&&complete("error"===evt.type?404:200,evt.type)}),document.head.appendChild(script[0])},abort:function(){callback&&callback()}}}});var oldCallbacks=[],rjsonp=/(=)\?(?=&|$)|\?\?/;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var callback=oldCallbacks.pop()||jQuery.expando+"_"+nonce++;return this[callback]=!0,callback}}),jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=s.jsonp!==!1&&(rjsonp.test(s.url)?"url":"string"==typeof s.data&&0===(s.contentType||"").indexOf("application/x-www-form-urlencoded")&&rjsonp.test(s.data)&&"data");if(jsonProp||"jsonp"===s.dataTypes[0])return callbackName=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback,jsonProp?s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName):s.jsonp!==!1&&(s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName),s.converters["script json"]=function(){return responseContainer||jQuery.error(callbackName+" was not called"),responseContainer[0]},s.dataTypes[0]="json",overwritten=window[callbackName],window[callbackName]=function(){responseContainer=arguments},jqXHR.always(function(){void 0===overwritten?jQuery(window).removeProp(callbackName):window[callbackName]=overwritten,s[callbackName]&&(s.jsonpCallback=originalSettings.jsonpCallback,oldCallbacks.push(callbackName)),responseContainer&&jQuery.isFunction(overwritten)&&overwritten(responseContainer[0]),responseContainer=overwritten=void 0}),"script"}),support.createHTMLDocument=function(){var body=document.implementation.createHTMLDocument("").body;return body.innerHTML="<form></form><form></form>",2===body.childNodes.length}(),jQuery.parseHTML=function(data,context,keepScripts){if("string"!=typeof data)return[];"boolean"==typeof context&&(keepScripts=context,context=!1);var base,parsed,scripts;return context||(support.createHTMLDocument?(context=document.implementation.createHTMLDocument(""),base=context.createElement("base"),base.href=document.location.href,context.head.appendChild(base)):context=document),parsed=rsingleTag.exec(data),scripts=!keepScripts&&[],parsed?[context.createElement(parsed[1])]:(parsed=buildFragment([data],context,scripts),scripts&&scripts.length&&jQuery(scripts).remove(),jQuery.merge([],parsed.childNodes))},jQuery.fn.load=function(url,params,callback){var selector,type,response,self=this,off=url.indexOf(" ");return off>-1&&(selector=stripAndCollapse(url.slice(off)),url=url.slice(0,off)),jQuery.isFunction(params)?(callback=params,params=void 0):params&&"object"==typeof params&&(type="POST"),self.length>0&&jQuery.ajax({url:url,type:type||"GET",dataType:"html",data:params}).done(function(responseText){response=arguments,self.html(selector?jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):responseText)}).always(callback&&function(jqXHR,status){self.each(function(){callback.apply(this,response||[jqXHR.responseText,status,jqXHR])})}),this},jQuery.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(i,type){jQuery.fn[type]=function(fn){return this.on(type,fn)}}),jQuery.expr.pseudos.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem}).length},jQuery.offset={setOffset:function(elem,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,calculatePosition,position=jQuery.css(elem,"position"),curElem=jQuery(elem),props={};"static"===position&&(elem.style.position="relative"),curOffset=curElem.offset(),curCSSTop=jQuery.css(elem,"top"),curCSSLeft=jQuery.css(elem,"left"),calculatePosition=("absolute"===position||"fixed"===position)&&(curCSSTop+curCSSLeft).indexOf("auto")>-1,calculatePosition?(curPosition=curElem.position(),curTop=curPosition.top,curLeft=curPosition.left):(curTop=parseFloat(curCSSTop)||0,curLeft=parseFloat(curCSSLeft)||0),jQuery.isFunction(options)&&(options=options.call(elem,i,jQuery.extend({},curOffset))),null!=options.top&&(props.top=options.top-curOffset.top+curTop),null!=options.left&&(props.left=options.left-curOffset.left+curLeft),"using"in options?options.using.call(elem,props):curElem.css(props)}},jQuery.fn.extend({offset:function(options){if(arguments.length)return void 0===options?this:this.each(function(i){jQuery.offset.setOffset(this,options,i)});var docElem,win,rect,doc,elem=this[0];if(elem)return elem.getClientRects().length?(rect=elem.getBoundingClientRect(),rect.width||rect.height?(doc=elem.ownerDocument,win=getWindow(doc),docElem=doc.documentElement,{top:rect.top+win.pageYOffset-docElem.clientTop,left:rect.left+win.pageXOffset-docElem.clientLeft}):rect):{top:0,left:0}},position:function(){if(this[0]){var offsetParent,offset,elem=this[0],parentOffset={top:0,left:0};return"fixed"===jQuery.css(elem,"position")?offset=elem.getBoundingClientRect():(offsetParent=this.offsetParent(),offset=this.offset(),jQuery.nodeName(offsetParent[0],"html")||(parentOffset=offsetParent.offset()),parentOffset={top:parentOffset.top+jQuery.css(offsetParent[0],"borderTopWidth",!0),left:parentOffset.left+jQuery.css(offsetParent[0],"borderLeftWidth",!0)}),{top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",!0),left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var offsetParent=this.offsetParent;offsetParent&&"static"===jQuery.css(offsetParent,"position");)offsetParent=offsetParent.offsetParent;return offsetParent||documentElement})}}),jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){var top="pageYOffset"===prop;jQuery.fn[method]=function(val){return access(this,function(elem,method,val){var win=getWindow(elem);return void 0===val?win?win[prop]:elem[method]:void(win?win.scrollTo(top?win.pageXOffset:val,top?val:win.pageYOffset):elem[method]=val)},method,val,arguments.length)}}),jQuery.each(["top","left"],function(i,prop){jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,function(elem,computed){if(computed)return computed=curCSS(elem,prop),rnumnonpx.test(computed)?jQuery(elem).position()[prop]+"px":computed})}),jQuery.each({Height:"height",Width:"width"},function(name,type){jQuery.each({padding:"inner"+name,content:type,"":"outer"+name},function(defaultExtra,funcName){jQuery.fn[funcName]=function(margin,value){var chainable=arguments.length&&(defaultExtra||"boolean"!=typeof margin),extra=defaultExtra||(margin===!0||value===!0?"margin":"border");return access(this,function(elem,type,value){var doc;return jQuery.isWindow(elem)?0===funcName.indexOf("outer")?elem["inner"+name]:elem.document.documentElement["client"+name]:9===elem.nodeType?(doc=elem.documentElement,Math.max(elem.body["scroll"+name],doc["scroll"+name],elem.body["offset"+name],doc["offset"+name],doc["client"+name])):void 0===value?jQuery.css(elem,type,extra):jQuery.style(elem,type,value,extra)},type,chainable?margin:void 0,chainable)}})}),jQuery.fn.extend({bind:function(types,data,fn){return this.on(types,null,data,fn)},unbind:function(types,fn){return this.off(types,null,fn)},delegate:function(selector,types,data,fn){return this.on(types,selector,data,fn)},undelegate:function(selector,types,fn){return 1===arguments.length?this.off(selector,"**"):this.off(types,selector||"**",fn)}}),jQuery.parseJSON=JSON.parse,__WEBPACK_AMD_DEFINE_ARRAY__=[],__WEBPACK_AMD_DEFINE_RESULT__=function(){return jQuery}.apply(exports,__WEBPACK_AMD_DEFINE_ARRAY__),!(void 0!==__WEBPACK_AMD_DEFINE_RESULT__&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__));var _jQuery=window.jQuery,_$=window.$;return jQuery.noConflict=function(deep){return window.$===jQuery&&(window.$=_$),deep&&window.jQuery===jQuery&&(window.jQuery=_jQuery),jQuery},noGlobal||(window.jQuery=window.$=jQuery),jQuery})},function(module,exports,__webpack_require__){"use strict";(function(Buffer,global){function typedArraySupport(){try{var arr=new Uint8Array(1);return arr.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===arr.foo()&&"function"==typeof arr.subarray&&0===arr.subarray(1,1).byteLength}catch(e){return!1}}function kMaxLength(){return Buffer.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function createBuffer(that,length){if(kMaxLength()<length)throw new RangeError("Invalid typed array length");return Buffer.TYPED_ARRAY_SUPPORT?(that=new Uint8Array(length),that.__proto__=Buffer.prototype):(null===that&&(that=new Buffer(length)),that.length=length),that}function Buffer(arg,encodingOrOffset,length){if(!(Buffer.TYPED_ARRAY_SUPPORT||this instanceof Buffer))return new Buffer(arg,encodingOrOffset,length);if("number"==typeof arg){if("string"==typeof encodingOrOffset)throw new Error("If encoding is specified then the first argument must be a string");return allocUnsafe(this,arg)}return from(this,arg,encodingOrOffset,length)}function from(that,value,encodingOrOffset,length){if("number"==typeof value)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&value instanceof ArrayBuffer?fromArrayBuffer(that,value,encodingOrOffset,length):"string"==typeof value?fromString(that,value,encodingOrOffset):fromObject(that,value)}function assertSize(size){if("number"!=typeof size)throw new TypeError('"size" argument must be a number');if(size<0)throw new RangeError('"size" argument must not be negative')}function alloc(that,size,fill,encoding){return assertSize(size),size<=0?createBuffer(that,size):void 0!==fill?"string"==typeof encoding?createBuffer(that,size).fill(fill,encoding):createBuffer(that,size).fill(fill):createBuffer(that,size)}function allocUnsafe(that,size){if(assertSize(size),that=createBuffer(that,size<0?0:0|checked(size)),!Buffer.TYPED_ARRAY_SUPPORT)for(var i=0;i<size;++i)that[i]=0;return that}function fromString(that,string,encoding){if("string"==typeof encoding&&""!==encoding||(encoding="utf8"),!Buffer.isEncoding(encoding))throw new TypeError('"encoding" must be a valid string encoding');var length=0|byteLength(string,encoding);that=createBuffer(that,length);var actual=that.write(string,encoding);return actual!==length&&(that=that.slice(0,actual)),that}function fromArrayLike(that,array){var length=array.length<0?0:0|checked(array.length);that=createBuffer(that,length);for(var i=0;i<length;i+=1)that[i]=255&array[i];return that}function fromArrayBuffer(that,array,byteOffset,length){if(array.byteLength,byteOffset<0||array.byteLength<byteOffset)throw new RangeError("'offset' is out of bounds");if(array.byteLength<byteOffset+(length||0))throw new RangeError("'length' is out of bounds");return array=void 0===byteOffset&&void 0===length?new Uint8Array(array):void 0===length?new Uint8Array(array,byteOffset):new Uint8Array(array,byteOffset,length),Buffer.TYPED_ARRAY_SUPPORT?(that=array,that.__proto__=Buffer.prototype):that=fromArrayLike(that,array),that}function fromObject(that,obj){if(Buffer.isBuffer(obj)){var len=0|checked(obj.length);return that=createBuffer(that,len),0===that.length?that:(obj.copy(that,0,0,len),that)}if(obj){if("undefined"!=typeof ArrayBuffer&&obj.buffer instanceof ArrayBuffer||"length"in obj)return"number"!=typeof obj.length||isnan(obj.length)?createBuffer(that,0):fromArrayLike(that,obj);if("Buffer"===obj.type&&isArray(obj.data))return fromArrayLike(that,obj.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function checked(length){if(length>=kMaxLength())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+kMaxLength().toString(16)+" bytes");return 0|length}function SlowBuffer(length){return+length!=length&&(length=0),Buffer.alloc(+length)}function byteLength(string,encoding){if(Buffer.isBuffer(string))return string.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(string)||string instanceof ArrayBuffer))return string.byteLength;"string"!=typeof string&&(string=""+string);var len=string.length;if(0===len)return 0;for(var loweredCase=!1;;)switch(encoding){case"ascii":case"latin1":case"binary":return len;case"utf8":case"utf-8":case void 0:return utf8ToBytes(string).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*len;case"hex":return len>>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase)return utf8ToBytes(string).length;encoding=(""+encoding).toLowerCase(),loweredCase=!0}}function slowToString(encoding,start,end){var loweredCase=!1;if((void 0===start||start<0)&&(start=0),start>this.length)return"";if((void 0===end||end>this.length)&&(end=this.length),end<=0)return"";if(end>>>=0,start>>>=0,end<=start)return"";for(encoding||(encoding="utf8");;)switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase(),loweredCase=!0}}function swap(b,n,m){var i=b[n];b[n]=b[m],b[m]=i}function bidirectionalIndexOf(buffer,val,byteOffset,encoding,dir){if(0===buffer.length)return-1;if("string"==typeof byteOffset?(encoding=byteOffset,byteOffset=0):byteOffset>2147483647?byteOffset=2147483647:byteOffset<-2147483648&&(byteOffset=-2147483648),byteOffset=+byteOffset,isNaN(byteOffset)&&(byteOffset=dir?0:buffer.length-1),byteOffset<0&&(byteOffset=buffer.length+byteOffset),byteOffset>=buffer.length){if(dir)return-1;byteOffset=buffer.length-1}else if(byteOffset<0){if(!dir)return-1;byteOffset=0}if("string"==typeof val&&(val=Buffer.from(val,encoding)),Buffer.isBuffer(val))return 0===val.length?-1:arrayIndexOf(buffer,val,byteOffset,encoding,dir);if("number"==typeof val)return val=255&val,Buffer.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?dir?Uint8Array.prototype.indexOf.call(buffer,val,byteOffset):Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset):arrayIndexOf(buffer,[val],byteOffset,encoding,dir);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){function read(buf,i){return 1===indexSize?buf[i]:buf.readUInt16BE(i*indexSize)}var indexSize=1,arrLength=arr.length,valLength=val.length;if(void 0!==encoding&&(encoding=String(encoding).toLowerCase(),"ucs2"===encoding||"ucs-2"===encoding||"utf16le"===encoding||"utf-16le"===encoding)){if(arr.length<2||val.length<2)return-1;indexSize=2,arrLength/=2,valLength/=2,byteOffset/=2}var i;if(dir){var foundIndex=-1;for(i=byteOffset;i<arrLength;i++)if(read(arr,i)===read(val,foundIndex===-1?0:i-foundIndex)){if(foundIndex===-1&&(foundIndex=i),i-foundIndex+1===valLength)return foundIndex*indexSize}else foundIndex!==-1&&(i-=i-foundIndex),foundIndex=-1}else for(byteOffset+valLength>arrLength&&(byteOffset=arrLength-valLength),i=byteOffset;i>=0;i--){for(var found=!0,j=0;j<valLength;j++)if(read(arr,i+j)!==read(val,j)){found=!1;break}if(found)return i}return-1}function hexWrite(buf,string,offset,length){offset=Number(offset)||0;var remaining=buf.length-offset;length?(length=Number(length),length>remaining&&(length=remaining)):length=remaining;var strLen=string.length;if(strLen%2!==0)throw new TypeError("Invalid hex string");length>strLen/2&&(length=strLen/2);for(var i=0;i<length;++i){var parsed=parseInt(string.substr(2*i,2),16);if(isNaN(parsed))return i;buf[offset+i]=parsed}return i}function utf8Write(buf,string,offset,length){return blitBuffer(utf8ToBytes(string,buf.length-offset),buf,offset,length)}function asciiWrite(buf,string,offset,length){return blitBuffer(asciiToBytes(string),buf,offset,length)}function latin1Write(buf,string,offset,length){return asciiWrite(buf,string,offset,length)}function base64Write(buf,string,offset,length){return blitBuffer(base64ToBytes(string),buf,offset,length)}function ucs2Write(buf,string,offset,length){return blitBuffer(utf16leToBytes(string,buf.length-offset),buf,offset,length)}function base64Slice(buf,start,end){return 0===start&&end===buf.length?base64.fromByteArray(buf):base64.fromByteArray(buf.slice(start,end))}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);for(var res=[],i=start;i<end;){var firstByte=buf[i],codePoint=null,bytesPerSequence=firstByte>239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:firstByte<128&&(codePoint=firstByte);break;case 2:secondByte=buf[i+1],128===(192&secondByte)&&(tempCodePoint=(31&firstByte)<<6|63&secondByte,tempCodePoint>127&&(codePoint=tempCodePoint));break;case 3:secondByte=buf[i+1],thirdByte=buf[i+2],128===(192&secondByte)&&128===(192&thirdByte)&&(tempCodePoint=(15&firstByte)<<12|(63&secondByte)<<6|63&thirdByte,tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)&&(codePoint=tempCodePoint));break;case 4:secondByte=buf[i+1],thirdByte=buf[i+2],fourthByte=buf[i+3],128===(192&secondByte)&&128===(192&thirdByte)&&128===(192&fourthByte)&&(tempCodePoint=(15&firstByte)<<18|(63&secondByte)<<12|(63&thirdByte)<<6|63&fourthByte,tempCodePoint>65535&&tempCodePoint<1114112&&(codePoint=tempCodePoint))}}null===codePoint?(codePoint=65533,bytesPerSequence=1):codePoint>65535&&(codePoint-=65536,res.push(codePoint>>>10&1023|55296),codePoint=56320|1023&codePoint),res.push(codePoint),i+=bytesPerSequence}return decodeCodePointsArray(res)}function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH)return String.fromCharCode.apply(String,codePoints);for(var res="",i=0;i<len;)res+=String.fromCharCode.apply(String,codePoints.slice(i,i+=MAX_ARGUMENTS_LENGTH));return res}function asciiSlice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;i<end;++i)ret+=String.fromCharCode(127&buf[i]);return ret}function latin1Slice(buf,start,end){var ret="";end=Math.min(buf.length,end);for(var i=start;i<end;++i)ret+=String.fromCharCode(buf[i]);return ret}function hexSlice(buf,start,end){var len=buf.length;(!start||start<0)&&(start=0),(!end||end<0||end>len)&&(end=len);for(var out="",i=start;i<end;++i)out+=toHex(buf[i]);return out}function utf16leSlice(buf,start,end){for(var bytes=buf.slice(start,end),res="",i=0;i<bytes.length;i+=2)res+=String.fromCharCode(bytes[i]+256*bytes[i+1]);return res}function checkOffset(offset,ext,length){if(offset%1!==0||offset<0)throw new RangeError("offset is not uint");if(offset+ext>length)throw new RangeError("Trying to access beyond buffer length")}function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||value<min)throw new RangeError('"value" argument is out of bounds');if(offset+ext>buf.length)throw new RangeError("Index out of range")}function objectWriteUInt16(buf,value,offset,littleEndian){value<0&&(value=65535+value+1);for(var i=0,j=Math.min(buf.length-offset,2);i<j;++i)buf[offset+i]=(value&255<<8*(littleEndian?i:1-i))>>>8*(littleEndian?i:1-i)}function objectWriteUInt32(buf,value,offset,littleEndian){value<0&&(value=4294967295+value+1);for(var i=0,j=Math.min(buf.length-offset,4);i<j;++i)buf[offset+i]=value>>>8*(littleEndian?i:3-i)&255}function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){return noAssert||checkIEEE754(buf,value,offset,4,3.4028234663852886e38,-3.4028234663852886e38),ieee754.write(buf,value,offset,littleEndian,23,4),offset+4}function writeDouble(buf,value,offset,littleEndian,noAssert){return noAssert||checkIEEE754(buf,value,offset,8,1.7976931348623157e308,-1.7976931348623157e308),ieee754.write(buf,value,offset,littleEndian,52,8),offset+8}function base64clean(str){if(str=stringtrim(str).replace(INVALID_BASE64_RE,""),str.length<2)return"";for(;str.length%4!==0;)str+="=";return str}function stringtrim(str){return str.trim?str.trim():str.replace(/^\s+|\s+$/g,"")}function toHex(n){return n<16?"0"+n.toString(16):n.toString(16)}function utf8ToBytes(string,units){units=units||1/0;for(var codePoint,length=string.length,leadSurrogate=null,bytes=[],i=0;i<length;++i){if(codePoint=string.charCodeAt(i),codePoint>55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){(units-=3)>-1&&bytes.push(239,191,189);continue}if(i+1===length){(units-=3)>-1&&bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){(units-=3)>-1&&bytes.push(239,191,189),leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else leadSurrogate&&(units-=3)>-1&&bytes.push(239,191,189);if(leadSurrogate=null,codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,63&codePoint|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,63&codePoint|128)}else{if(!(codePoint<1114112))throw new Error("Invalid code point");if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,63&codePoint|128)}}return bytes}function asciiToBytes(str){for(var byteArray=[],i=0;i<str.length;++i)byteArray.push(255&str.charCodeAt(i));return byteArray}function utf16leToBytes(str,units){for(var c,hi,lo,byteArray=[],i=0;i<str.length&&!((units-=2)<0);++i)c=str.charCodeAt(i),hi=c>>8,lo=c%256,byteArray.push(lo),byteArray.push(hi);return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i<length&&!(i+offset>=dst.length||i>=src.length);++i)dst[i+offset]=src[i];return i}function isnan(val){return val!==val}var base64=__webpack_require__(453),ieee754=__webpack_require__(454),isArray=__webpack_require__(455);exports.Buffer=Buffer,exports.SlowBuffer=SlowBuffer,exports.INSPECT_MAX_BYTES=50,Buffer.TYPED_ARRAY_SUPPORT=void 0!==global.TYPED_ARRAY_SUPPORT?global.TYPED_ARRAY_SUPPORT:typedArraySupport(),exports.kMaxLength=kMaxLength(),Buffer.poolSize=8192,Buffer._augment=function(arr){return arr.__proto__=Buffer.prototype,arr},Buffer.from=function(value,encodingOrOffset,length){return from(null,value,encodingOrOffset,length)},Buffer.TYPED_ARRAY_SUPPORT&&(Buffer.prototype.__proto__=Uint8Array.prototype,Buffer.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&Buffer[Symbol.species]===Buffer&&Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:!0})),Buffer.alloc=function(size,fill,encoding){return alloc(null,size,fill,encoding)},Buffer.allocUnsafe=function(size){return allocUnsafe(null,size)},Buffer.allocUnsafeSlow=function(size){return allocUnsafe(null,size)},Buffer.isBuffer=function(b){return!(null==b||!b._isBuffer)},Buffer.compare=function(a,b){if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b))throw new TypeError("Arguments must be Buffers");if(a===b)return 0;for(var x=a.length,y=b.length,i=0,len=Math.min(x,y);i<len;++i)if(a[i]!==b[i]){x=a[i],y=b[i];break}return x<y?-1:y<x?1:0},Buffer.isEncoding=function(encoding){switch(String(encoding).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},Buffer.concat=function(list,length){if(!isArray(list))throw new TypeError('"list" argument must be an Array of Buffers');if(0===list.length)return Buffer.alloc(0);var i;if(void 0===length)for(length=0,i=0;i<list.length;++i)length+=list[i].length;var buffer=Buffer.allocUnsafe(length),pos=0;for(i=0;i<list.length;++i){var buf=list[i];if(!Buffer.isBuffer(buf))throw new TypeError('"list" argument must be an Array of Buffers');buf.copy(buffer,pos),pos+=buf.length}return buffer},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function(){var len=this.length;if(len%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var i=0;i<len;i+=2)swap(this,i,i+1);return this},Buffer.prototype.swap32=function(){var len=this.length;if(len%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var i=0;i<len;i+=4)swap(this,i,i+3),swap(this,i+1,i+2);return this},Buffer.prototype.swap64=function(){var len=this.length;if(len%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var i=0;i<len;i+=8)swap(this,i,i+7),swap(this,i+1,i+6),swap(this,i+2,i+5),swap(this,i+3,i+4);return this},Buffer.prototype.toString=function(){var length=0|this.length;return 0===length?"":0===arguments.length?utf8Slice(this,0,length):slowToString.apply(this,arguments)},Buffer.prototype.equals=function(b){if(!Buffer.isBuffer(b))throw new TypeError("Argument must be a Buffer");return this===b||0===Buffer.compare(this,b)},Buffer.prototype.inspect=function(){var str="",max=exports.INSPECT_MAX_BYTES;return this.length>0&&(str=this.toString("hex",0,max).match(/.{2}/g).join(" "),this.length>max&&(str+=" ... ")),"<Buffer "+str+">"},Buffer.prototype.compare=function(target,start,end,thisStart,thisEnd){if(!Buffer.isBuffer(target))throw new TypeError("Argument must be a Buffer");if(void 0===start&&(start=0),void 0===end&&(end=target?target.length:0),void 0===thisStart&&(thisStart=0),void 0===thisEnd&&(thisEnd=this.length),start<0||end>target.length||thisStart<0||thisEnd>this.length)throw new RangeError("out of range index");if(thisStart>=thisEnd&&start>=end)return 0;if(thisStart>=thisEnd)return-1;if(start>=end)return 1;if(start>>>=0,end>>>=0,thisStart>>>=0,thisEnd>>>=0,this===target)return 0;for(var x=thisEnd-thisStart,y=end-start,len=Math.min(x,y),thisCopy=this.slice(thisStart,thisEnd),targetCopy=target.slice(start,end),i=0;i<len;++i)if(thisCopy[i]!==targetCopy[i]){x=thisCopy[i],y=targetCopy[i];break}return x<y?-1:y<x?1:0},Buffer.prototype.includes=function(val,byteOffset,encoding){return this.indexOf(val,byteOffset,encoding)!==-1},Buffer.prototype.indexOf=function(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,!0)},Buffer.prototype.lastIndexOf=function(val,byteOffset,encoding){return bidirectionalIndexOf(this,val,byteOffset,encoding,!1)},Buffer.prototype.write=function(string,offset,length,encoding){if(void 0===offset)encoding="utf8",length=this.length,offset=0;else if(void 0===length&&"string"==typeof offset)encoding=offset,length=this.length,offset=0;else{if(!isFinite(offset))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");offset=0|offset,isFinite(length)?(length=0|length,void 0===encoding&&(encoding="utf8")):(encoding=length,length=void 0)}var remaining=this.length-offset;if((void 0===length||length>remaining)&&(length=remaining),string.length>0&&(length<0||offset<0)||offset>this.length)throw new RangeError("Attempt to write outside buffer bounds");encoding||(encoding="utf8");for(var loweredCase=!1;;)switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase(),loweredCase=!0}},Buffer.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var MAX_ARGUMENTS_LENGTH=4096;Buffer.prototype.slice=function(start,end){var len=this.length;start=~~start,end=void 0===end?len:~~end,start<0?(start+=len,start<0&&(start=0)):start>len&&(start=len),end<0?(end+=len,end<0&&(end=0)):end>len&&(end=len),end<start&&(end=start);var newBuf;if(Buffer.TYPED_ARRAY_SUPPORT)newBuf=this.subarray(start,end),newBuf.__proto__=Buffer.prototype;else{var sliceLen=end-start;newBuf=new Buffer(sliceLen,(void 0));for(var i=0;i<sliceLen;++i)newBuf[i]=this[i+start]}return newBuf},Buffer.prototype.readUIntLE=function(offset,byteLength,noAssert){offset=0|offset,byteLength=0|byteLength,noAssert||checkOffset(offset,byteLength,this.length);for(var val=this[offset],mul=1,i=0;++i<byteLength&&(mul*=256);)val+=this[offset+i]*mul;return val},Buffer.prototype.readUIntBE=function(offset,byteLength,noAssert){offset=0|offset,byteLength=0|byteLength,noAssert||checkOffset(offset,byteLength,this.length);for(var val=this[offset+--byteLength],mul=1;byteLength>0&&(mul*=256);)val+=this[offset+--byteLength]*mul;return val},Buffer.prototype.readUInt8=function(offset,noAssert){return noAssert||checkOffset(offset,1,this.length),this[offset]},Buffer.prototype.readUInt16LE=function(offset,noAssert){return noAssert||checkOffset(offset,2,this.length),this[offset]|this[offset+1]<<8},Buffer.prototype.readUInt16BE=function(offset,noAssert){return noAssert||checkOffset(offset,2,this.length),this[offset]<<8|this[offset+1]},Buffer.prototype.readUInt32LE=function(offset,noAssert){return noAssert||checkOffset(offset,4,this.length),(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+16777216*this[offset+3]},Buffer.prototype.readUInt32BE=function(offset,noAssert){return noAssert||checkOffset(offset,4,this.length),16777216*this[offset]+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])},Buffer.prototype.readIntLE=function(offset,byteLength,noAssert){offset=0|offset,byteLength=0|byteLength,noAssert||checkOffset(offset,byteLength,this.length);for(var val=this[offset],mul=1,i=0;++i<byteLength&&(mul*=256);)val+=this[offset+i]*mul;return mul*=128,val>=mul&&(val-=Math.pow(2,8*byteLength)),val},Buffer.prototype.readIntBE=function(offset,byteLength,noAssert){offset=0|offset,byteLength=0|byteLength,noAssert||checkOffset(offset,byteLength,this.length);for(var i=byteLength,mul=1,val=this[offset+--i];i>0&&(mul*=256);)val+=this[offset+--i]*mul;return mul*=128,val>=mul&&(val-=Math.pow(2,8*byteLength)),val},Buffer.prototype.readInt8=function(offset,noAssert){return noAssert||checkOffset(offset,1,this.length),128&this[offset]?(255-this[offset]+1)*-1:this[offset]},Buffer.prototype.readInt16LE=function(offset,noAssert){noAssert||checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;
+return 32768&val?4294901760|val:val},Buffer.prototype.readInt16BE=function(offset,noAssert){noAssert||checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return 32768&val?4294901760|val:val},Buffer.prototype.readInt32LE=function(offset,noAssert){return noAssert||checkOffset(offset,4,this.length),this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24},Buffer.prototype.readInt32BE=function(offset,noAssert){return noAssert||checkOffset(offset,4,this.length),this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]},Buffer.prototype.readFloatLE=function(offset,noAssert){return noAssert||checkOffset(offset,4,this.length),ieee754.read(this,offset,!0,23,4)},Buffer.prototype.readFloatBE=function(offset,noAssert){return noAssert||checkOffset(offset,4,this.length),ieee754.read(this,offset,!1,23,4)},Buffer.prototype.readDoubleLE=function(offset,noAssert){return noAssert||checkOffset(offset,8,this.length),ieee754.read(this,offset,!0,52,8)},Buffer.prototype.readDoubleBE=function(offset,noAssert){return noAssert||checkOffset(offset,8,this.length),ieee754.read(this,offset,!1,52,8)},Buffer.prototype.writeUIntLE=function(value,offset,byteLength,noAssert){if(value=+value,offset=0|offset,byteLength=0|byteLength,!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1,i=0;for(this[offset]=255&value;++i<byteLength&&(mul*=256);)this[offset+i]=value/mul&255;return offset+byteLength},Buffer.prototype.writeUIntBE=function(value,offset,byteLength,noAssert){if(value=+value,offset=0|offset,byteLength=0|byteLength,!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var i=byteLength-1,mul=1;for(this[offset+i]=255&value;--i>=0&&(mul*=256);)this[offset+i]=value/mul&255;return offset+byteLength},Buffer.prototype.writeUInt8=function(value,offset,noAssert){return value=+value,offset=0|offset,noAssert||checkInt(this,value,offset,1,255,0),Buffer.TYPED_ARRAY_SUPPORT||(value=Math.floor(value)),this[offset]=255&value,offset+1},Buffer.prototype.writeUInt16LE=function(value,offset,noAssert){return value=+value,offset=0|offset,noAssert||checkInt(this,value,offset,2,65535,0),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=255&value,this[offset+1]=value>>>8):objectWriteUInt16(this,value,offset,!0),offset+2},Buffer.prototype.writeUInt16BE=function(value,offset,noAssert){return value=+value,offset=0|offset,noAssert||checkInt(this,value,offset,2,65535,0),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=value>>>8,this[offset+1]=255&value):objectWriteUInt16(this,value,offset,!1),offset+2},Buffer.prototype.writeUInt32LE=function(value,offset,noAssert){return value=+value,offset=0|offset,noAssert||checkInt(this,value,offset,4,4294967295,0),Buffer.TYPED_ARRAY_SUPPORT?(this[offset+3]=value>>>24,this[offset+2]=value>>>16,this[offset+1]=value>>>8,this[offset]=255&value):objectWriteUInt32(this,value,offset,!0),offset+4},Buffer.prototype.writeUInt32BE=function(value,offset,noAssert){return value=+value,offset=0|offset,noAssert||checkInt(this,value,offset,4,4294967295,0),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=value>>>24,this[offset+1]=value>>>16,this[offset+2]=value>>>8,this[offset+3]=255&value):objectWriteUInt32(this,value,offset,!1),offset+4},Buffer.prototype.writeIntLE=function(value,offset,byteLength,noAssert){if(value=+value,offset=0|offset,!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0,mul=1,sub=0;for(this[offset]=255&value;++i<byteLength&&(mul*=256);)value<0&&0===sub&&0!==this[offset+i-1]&&(sub=1),this[offset+i]=(value/mul>>0)-sub&255;return offset+byteLength},Buffer.prototype.writeIntBE=function(value,offset,byteLength,noAssert){if(value=+value,offset=0|offset,!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1,mul=1,sub=0;for(this[offset+i]=255&value;--i>=0&&(mul*=256);)value<0&&0===sub&&0!==this[offset+i+1]&&(sub=1),this[offset+i]=(value/mul>>0)-sub&255;return offset+byteLength},Buffer.prototype.writeInt8=function(value,offset,noAssert){return value=+value,offset=0|offset,noAssert||checkInt(this,value,offset,1,127,-128),Buffer.TYPED_ARRAY_SUPPORT||(value=Math.floor(value)),value<0&&(value=255+value+1),this[offset]=255&value,offset+1},Buffer.prototype.writeInt16LE=function(value,offset,noAssert){return value=+value,offset=0|offset,noAssert||checkInt(this,value,offset,2,32767,-32768),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=255&value,this[offset+1]=value>>>8):objectWriteUInt16(this,value,offset,!0),offset+2},Buffer.prototype.writeInt16BE=function(value,offset,noAssert){return value=+value,offset=0|offset,noAssert||checkInt(this,value,offset,2,32767,-32768),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=value>>>8,this[offset+1]=255&value):objectWriteUInt16(this,value,offset,!1),offset+2},Buffer.prototype.writeInt32LE=function(value,offset,noAssert){return value=+value,offset=0|offset,noAssert||checkInt(this,value,offset,4,2147483647,-2147483648),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=255&value,this[offset+1]=value>>>8,this[offset+2]=value>>>16,this[offset+3]=value>>>24):objectWriteUInt32(this,value,offset,!0),offset+4},Buffer.prototype.writeInt32BE=function(value,offset,noAssert){return value=+value,offset=0|offset,noAssert||checkInt(this,value,offset,4,2147483647,-2147483648),value<0&&(value=4294967295+value+1),Buffer.TYPED_ARRAY_SUPPORT?(this[offset]=value>>>24,this[offset+1]=value>>>16,this[offset+2]=value>>>8,this[offset+3]=255&value):objectWriteUInt32(this,value,offset,!1),offset+4},Buffer.prototype.writeFloatLE=function(value,offset,noAssert){return writeFloat(this,value,offset,!0,noAssert)},Buffer.prototype.writeFloatBE=function(value,offset,noAssert){return writeFloat(this,value,offset,!1,noAssert)},Buffer.prototype.writeDoubleLE=function(value,offset,noAssert){return writeDouble(this,value,offset,!0,noAssert)},Buffer.prototype.writeDoubleBE=function(value,offset,noAssert){return writeDouble(this,value,offset,!1,noAssert)},Buffer.prototype.copy=function(target,targetStart,start,end){if(start||(start=0),end||0===end||(end=this.length),targetStart>=target.length&&(targetStart=target.length),targetStart||(targetStart=0),end>0&&end<start&&(end=start),end===start)return 0;if(0===target.length||0===this.length)return 0;if(targetStart<0)throw new RangeError("targetStart out of bounds");if(start<0||start>=this.length)throw new RangeError("sourceStart out of bounds");if(end<0)throw new RangeError("sourceEnd out of bounds");end>this.length&&(end=this.length),target.length-targetStart<end-start&&(end=target.length-targetStart+start);var i,len=end-start;if(this===target&&start<targetStart&&targetStart<end)for(i=len-1;i>=0;--i)target[i+targetStart]=this[i+start];else if(len<1e3||!Buffer.TYPED_ARRAY_SUPPORT)for(i=0;i<len;++i)target[i+targetStart]=this[i+start];else Uint8Array.prototype.set.call(target,this.subarray(start,start+len),targetStart);return len},Buffer.prototype.fill=function(val,start,end,encoding){if("string"==typeof val){if("string"==typeof start?(encoding=start,start=0,end=this.length):"string"==typeof end&&(encoding=end,end=this.length),1===val.length){var code=val.charCodeAt(0);code<256&&(val=code)}if(void 0!==encoding&&"string"!=typeof encoding)throw new TypeError("encoding must be a string");if("string"==typeof encoding&&!Buffer.isEncoding(encoding))throw new TypeError("Unknown encoding: "+encoding)}else"number"==typeof val&&(val=255&val);if(start<0||this.length<start||this.length<end)throw new RangeError("Out of range index");if(end<=start)return this;start>>>=0,end=void 0===end?this.length:end>>>0,val||(val=0);var i;if("number"==typeof val)for(i=start;i<end;++i)this[i]=val;else{var bytes=Buffer.isBuffer(val)?val:utf8ToBytes(new Buffer(val,encoding).toString()),len=bytes.length;for(i=0;i<end-start;++i)this[i+start]=bytes[i%len]}return this};var INVALID_BASE64_RE=/[^+\/0-9A-Za-z-_]/g}).call(exports,__webpack_require__(12).Buffer,__webpack_require__(4))},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),ScalarObservable_1=__webpack_require__(51),EmptyObservable_1=__webpack_require__(17),isScheduler_1=__webpack_require__(15),ArrayObservable=function(_super){function ArrayObservable(array,scheduler){_super.call(this),this.array=array,this.scheduler=scheduler,scheduler||1!==array.length||(this._isScalar=!0,this.value=array[0])}return __extends(ArrayObservable,_super),ArrayObservable.create=function(array,scheduler){return new ArrayObservable(array,scheduler)},ArrayObservable.of=function(){for(var array=[],_i=0;_i<arguments.length;_i++)array[_i-0]=arguments[_i];var scheduler=array[array.length-1];isScheduler_1.isScheduler(scheduler)?array.pop():scheduler=null;var len=array.length;return len>1?new ArrayObservable(array,scheduler):1===len?new ScalarObservable_1.ScalarObservable(array[0],scheduler):new EmptyObservable_1.EmptyObservable(scheduler)},ArrayObservable.dispatch=function(state){var array=state.array,index=state.index,count=state.count,subscriber=state.subscriber;return index>=count?void subscriber.complete():(subscriber.next(array[index]),void(subscriber.closed||(state.index=index+1,this.schedule(state))))},ArrayObservable.prototype._subscribe=function(subscriber){var index=0,array=this.array,count=array.length,scheduler=this.scheduler;if(scheduler)return scheduler.schedule(ArrayObservable.dispatch,0,{array:array,index:index,count:count,subscriber:subscriber});for(var i=0;i<count&&!subscriber.closed;i++)subscriber.next(array[i]);subscriber.complete()},ArrayObservable}(Observable_1.Observable);exports.ArrayObservable=ArrayObservable},function(module,exports){"use strict";exports.isArray=Array.isArray||function(x){return x&&"number"==typeof x.length}},function(module,exports){"use strict";function isScheduler(value){return value&&"function"==typeof value.schedule}exports.isScheduler=isScheduler},function(module,exports){function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(fun){if(cachedSetTimeout===setTimeout)return setTimeout(fun,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(fun,0);try{return cachedSetTimeout(fun,0)}catch(e){try{return cachedSetTimeout.call(null,fun,0)}catch(e){return cachedSetTimeout.call(this,fun,0)}}}function runClearTimeout(marker){if(cachedClearTimeout===clearTimeout)return clearTimeout(marker);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(marker);try{return cachedClearTimeout(marker)}catch(e){try{return cachedClearTimeout.call(null,marker)}catch(e){return cachedClearTimeout.call(this,marker)}}}function cleanUpNextTick(){draining&&currentQueue&&(draining=!1,currentQueue.length?queue=currentQueue.concat(queue):queueIndex=-1,queue.length&&drainQueue())}function drainQueue(){if(!draining){var timeout=runTimeout(cleanUpNextTick);draining=!0;for(var len=queue.length;len;){for(currentQueue=queue,queue=[];++queueIndex<len;)currentQueue&&currentQueue[queueIndex].run();queueIndex=-1,len=queue.length}currentQueue=null,draining=!1,runClearTimeout(timeout)}}function Item(fun,array){this.fun=fun,this.array=array}function noop(){}var cachedSetTimeout,cachedClearTimeout,process=module.exports={};!function(){try{cachedSetTimeout="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(e){cachedSetTimeout=defaultSetTimout}try{cachedClearTimeout="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(e){cachedClearTimeout=defaultClearTimeout}}();var currentQueue,queue=[],draining=!1,queueIndex=-1;process.nextTick=function(fun){var args=new Array(arguments.length-1);if(arguments.length>1)for(var i=1;i<arguments.length;i++)args[i-1]=arguments[i];queue.push(new Item(fun,args)),1!==queue.length||draining||runTimeout(drainQueue)},Item.prototype.run=function(){this.fun.apply(null,this.array)},process.title="browser",process.browser=!0,process.env={},process.argv=[],process.version="",process.versions={},process.on=noop,process.addListener=noop,process.once=noop,process.off=noop,process.removeListener=noop,process.removeAllListeners=noop,process.emit=noop,process.binding=function(name){throw new Error("process.binding is not supported")},process.cwd=function(){return"/"},process.chdir=function(dir){throw new Error("process.chdir is not supported")},process.umask=function(){return 0}},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),EmptyObservable=function(_super){function EmptyObservable(scheduler){_super.call(this),this.scheduler=scheduler}return __extends(EmptyObservable,_super),EmptyObservable.create=function(scheduler){return new EmptyObservable(scheduler)},EmptyObservable.dispatch=function(arg){var subscriber=arg.subscriber;subscriber.complete()},EmptyObservable.prototype._subscribe=function(subscriber){var scheduler=this.scheduler;return scheduler?scheduler.schedule(EmptyObservable.dispatch,0,{subscriber:subscriber}):void subscriber.complete()},EmptyObservable}(Observable_1.Observable);exports.EmptyObservable=EmptyObservable},function(module,exports,__webpack_require__){(function(process){function useColors(){return"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}function formatArgs(){var args=arguments,useColors=this.useColors;if(args[0]=(useColors?"%c":"")+this.namespace+(useColors?" %c":" ")+args[0]+(useColors?"%c ":" ")+"+"+exports.humanize(this.diff),!useColors)return args;var c="color: "+this.color;args=[args[0],c,"color: inherit"].concat(Array.prototype.slice.call(args,1));var index=0,lastC=0;return args[0].replace(/%[a-z%]/g,function(match){"%%"!==match&&(index++,"%c"===match&&(lastC=index))}),args.splice(lastC,0,c),args}function log(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function save(namespaces){try{null==namespaces?exports.storage.removeItem("debug"):exports.storage.debug=namespaces}catch(e){}}function load(){try{return exports.storage.debug}catch(e){}if("undefined"!=typeof process&&"env"in process)return process.env.DEBUG}function localstorage(){try{return window.localStorage}catch(e){}}exports=module.exports=__webpack_require__(427),exports.log=log,exports.formatArgs=formatArgs,exports.save=save,exports.load=load,exports.useColors=useColors,exports.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:localstorage(),exports.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],exports.formatters.j=function(v){try{return JSON.stringify(v)}catch(err){return"[UnexpectedJSONParseError]: "+err.message}},exports.enable(load())}).call(exports,__webpack_require__(16))},function(module,exports,__webpack_require__){"use strict";function Duplex(options){return this instanceof Duplex?(Readable.call(this,options),Writable.call(this,options),options&&options.readable===!1&&(this.readable=!1),options&&options.writable===!1&&(this.writable=!1),this.allowHalfOpen=!0,options&&options.allowHalfOpen===!1&&(this.allowHalfOpen=!1),void this.once("end",onend)):new Duplex(options)}function onend(){this.allowHalfOpen||this._writableState.ended||processNextTick(onEndNT,this)}function onEndNT(self){self.end()}var objectKeys=Object.keys||function(obj){var keys=[];for(var key in obj)keys.push(key);return keys};module.exports=Duplex;var processNextTick=__webpack_require__(66),util=__webpack_require__(27);util.inherits=__webpack_require__(28);var Readable=__webpack_require__(111),Writable=__webpack_require__(64);util.inherits(Duplex,Readable);for(var keys=objectKeys(Writable.prototype),v=0;v<keys.length;v++){var method=keys[v];Duplex.prototype[method]||(Duplex.prototype[method]=Writable.prototype[method])}},function(module,exports,__webpack_require__){"use strict";function multicast(subjectOrSubjectFactory,selector){var subjectFactory;if(subjectFactory="function"==typeof subjectOrSubjectFactory?subjectOrSubjectFactory:function(){return subjectOrSubjectFactory},"function"==typeof selector)return this.lift(new MulticastOperator(subjectFactory,selector));var connectable=Object.create(this,ConnectableObservable_1.connectableObservableDescriptor);return connectable.source=this,connectable.subjectFactory=subjectFactory,connectable}var ConnectableObservable_1=__webpack_require__(73);exports.multicast=multicast;var MulticastOperator=function(){function MulticastOperator(subjectFactory,selector){this.subjectFactory=subjectFactory,this.selector=selector}return MulticastOperator.prototype.call=function(subscriber,source){var selector=this.selector,subject=this.subjectFactory(),subscription=selector(subject).subscribe(subscriber);return subscription.add(source.subscribe(subject)),subscription},MulticastOperator}();exports.MulticastOperator=MulticastOperator},function(module,exports,__webpack_require__){(function(global){function encodeBase64Object(packet,callback){var message="b"+exports.packets[packet.type]+packet.data.data;return callback(message)}function encodeArrayBuffer(packet,supportsBinary,callback){if(!supportsBinary)return exports.encodeBase64Packet(packet,callback);var data=packet.data,contentArray=new Uint8Array(data),resultBuffer=new Uint8Array(1+data.byteLength);resultBuffer[0]=packets[packet.type];for(var i=0;i<contentArray.length;i++)resultBuffer[i+1]=contentArray[i];return callback(resultBuffer.buffer)}function encodeBlobAsArrayBuffer(packet,supportsBinary,callback){if(!supportsBinary)return exports.encodeBase64Packet(packet,callback);var fr=new FileReader;return fr.onload=function(){packet.data=fr.result,exports.encodePacket(packet,supportsBinary,!0,callback)},fr.readAsArrayBuffer(packet.data)}function encodeBlob(packet,supportsBinary,callback){if(!supportsBinary)return exports.encodeBase64Packet(packet,callback);if(dontSendBlobs)return encodeBlobAsArrayBuffer(packet,supportsBinary,callback);var length=new Uint8Array(1);length[0]=packets[packet.type];var blob=new Blob([length.buffer,packet.data]);return callback(blob)}function tryDecode(data){try{data=utf8.decode(data)}catch(e){return!1}return data}function map(ary,each,done){for(var result=new Array(ary.length),next=after(ary.length,done),eachWithIndex=function(i,el,cb){each(el,function(error,msg){result[i]=msg,cb(error,result)})},i=0;i<ary.length;i++)eachWithIndex(i,ary[i],next)}var base64encoder,keys=__webpack_require__(435),hasBinary=__webpack_require__(106),sliceBuffer=__webpack_require__(437),after=__webpack_require__(436),utf8=__webpack_require__(440);global&&global.ArrayBuffer&&(base64encoder=__webpack_require__(438));var isAndroid="undefined"!=typeof navigator&&/Android/i.test(navigator.userAgent),isPhantomJS="undefined"!=typeof navigator&&/PhantomJS/i.test(navigator.userAgent),dontSendBlobs=isAndroid||isPhantomJS;exports.protocol=3;var packets=exports.packets={open:0,close:1,ping:2,pong:3,message:4,upgrade:5,noop:6},packetslist=keys(packets),err={type:"error",data:"parser error"},Blob=__webpack_require__(439);exports.encodePacket=function(packet,supportsBinary,utf8encode,callback){"function"==typeof supportsBinary&&(callback=supportsBinary,supportsBinary=!1),"function"==typeof utf8encode&&(callback=utf8encode,utf8encode=null);var data=void 0===packet.data?void 0:packet.data.buffer||packet.data;if(global.ArrayBuffer&&data instanceof ArrayBuffer)return encodeArrayBuffer(packet,supportsBinary,callback);if(Blob&&data instanceof global.Blob)return encodeBlob(packet,supportsBinary,callback);if(data&&data.base64)return encodeBase64Object(packet,callback);var encoded=packets[packet.type];return void 0!==packet.data&&(encoded+=utf8encode?utf8.encode(String(packet.data)):String(packet.data)),callback(""+encoded)},exports.encodeBase64Packet=function(packet,callback){var message="b"+exports.packets[packet.type];if(Blob&&packet.data instanceof global.Blob){var fr=new FileReader;return fr.onload=function(){var b64=fr.result.split(",")[1];callback(message+b64)},fr.readAsDataURL(packet.data)}var b64data;try{b64data=String.fromCharCode.apply(null,new Uint8Array(packet.data))}catch(e){for(var typed=new Uint8Array(packet.data),basic=new Array(typed.length),i=0;i<typed.length;i++)basic[i]=typed[i];b64data=String.fromCharCode.apply(null,basic)}return message+=global.btoa(b64data),callback(message)},exports.decodePacket=function(data,binaryType,utf8decode){if(void 0===data)return err;if("string"==typeof data){if("b"==data.charAt(0))return exports.decodeBase64Packet(data.substr(1),binaryType);if(utf8decode&&(data=tryDecode(data),data===!1))return err;var type=data.charAt(0);return Number(type)==type&&packetslist[type]?data.length>1?{type:packetslist[type],data:data.substring(1)}:{type:packetslist[type]}:err}var asArray=new Uint8Array(data),type=asArray[0],rest=sliceBuffer(data,1);return Blob&&"blob"===binaryType&&(rest=new Blob([rest])),{type:packetslist[type],data:rest}},exports.decodeBase64Packet=function(msg,binaryType){var type=packetslist[msg.charAt(0)];if(!base64encoder)return{type:type,data:{base64:!0,data:msg.substr(1)}};var data=base64encoder.decode(msg.substr(1));return"blob"===binaryType&&Blob&&(data=new Blob([data])),{type:type,data:data}},exports.encodePayload=function(packets,supportsBinary,callback){function setLengthHeader(message){return message.length+":"+message}function encodeOne(packet,doneCallback){exports.encodePacket(packet,!!isBinary&&supportsBinary,!0,function(message){doneCallback(null,setLengthHeader(message))})}"function"==typeof supportsBinary&&(callback=supportsBinary,supportsBinary=null);var isBinary=hasBinary(packets);return supportsBinary&&isBinary?Blob&&!dontSendBlobs?exports.encodePayloadAsBlob(packets,callback):exports.encodePayloadAsArrayBuffer(packets,callback):packets.length?void map(packets,encodeOne,function(err,results){return callback(results.join(""))}):callback("0:")},exports.decodePayload=function(data,binaryType,callback){if("string"!=typeof data)return exports.decodePayloadAsBinary(data,binaryType,callback);"function"==typeof binaryType&&(callback=binaryType,binaryType=null);var packet;if(""==data)return callback(err,0,1);for(var n,msg,length="",i=0,l=data.length;i<l;i++){var chr=data.charAt(i);if(":"!=chr)length+=chr;else{if(""==length||length!=(n=Number(length)))return callback(err,0,1);if(msg=data.substr(i+1,n),length!=msg.length)return callback(err,0,1);if(msg.length){if(packet=exports.decodePacket(msg,binaryType,!0),err.type==packet.type&&err.data==packet.data)return callback(err,0,1);var ret=callback(packet,i+n,l);if(!1===ret)return}i+=n,length=""}}return""!=length?callback(err,0,1):void 0},exports.encodePayloadAsArrayBuffer=function(packets,callback){function encodeOne(packet,doneCallback){exports.encodePacket(packet,!0,!0,function(data){return doneCallback(null,data)})}return packets.length?void map(packets,encodeOne,function(err,encodedPackets){var totalLength=encodedPackets.reduce(function(acc,p){var len;return len="string"==typeof p?p.length:p.byteLength,acc+len.toString().length+len+2},0),resultArray=new Uint8Array(totalLength),bufferIndex=0;return encodedPackets.forEach(function(p){var isString="string"==typeof p,ab=p;if(isString){for(var view=new Uint8Array(p.length),i=0;i<p.length;i++)view[i]=p.charCodeAt(i);ab=view.buffer}isString?resultArray[bufferIndex++]=0:resultArray[bufferIndex++]=1;for(var lenStr=ab.byteLength.toString(),i=0;i<lenStr.length;i++)resultArray[bufferIndex++]=parseInt(lenStr[i]);resultArray[bufferIndex++]=255;for(var view=new Uint8Array(ab),i=0;i<view.length;i++)resultArray[bufferIndex++]=view[i]}),callback(resultArray.buffer)}):callback(new ArrayBuffer(0))},exports.encodePayloadAsBlob=function(packets,callback){function encodeOne(packet,doneCallback){exports.encodePacket(packet,!0,!0,function(encoded){var binaryIdentifier=new Uint8Array(1);if(binaryIdentifier[0]=1,"string"==typeof encoded){for(var view=new Uint8Array(encoded.length),i=0;i<encoded.length;i++)view[i]=encoded.charCodeAt(i);encoded=view.buffer,binaryIdentifier[0]=0}for(var len=encoded instanceof ArrayBuffer?encoded.byteLength:encoded.size,lenStr=len.toString(),lengthAry=new Uint8Array(lenStr.length+1),i=0;i<lenStr.length;i++)lengthAry[i]=parseInt(lenStr[i]);if(lengthAry[lenStr.length]=255,Blob){var blob=new Blob([binaryIdentifier.buffer,lengthAry.buffer,encoded]);doneCallback(null,blob)}})}map(packets,encodeOne,function(err,results){return callback(new Blob(results))})},exports.decodePayloadAsBinary=function(data,binaryType,callback){"function"==typeof binaryType&&(callback=binaryType,binaryType=null);for(var bufferTail=data,buffers=[],numberTooLong=!1;bufferTail.byteLength>0;){for(var tailArray=new Uint8Array(bufferTail),isString=0===tailArray[0],msgLength="",i=1;255!=tailArray[i];i++){if(msgLength.length>310){numberTooLong=!0;break}msgLength+=tailArray[i]}if(numberTooLong)return callback(err,0,1);bufferTail=sliceBuffer(bufferTail,2+msgLength.length),msgLength=parseInt(msgLength);var msg=sliceBuffer(bufferTail,0,msgLength);if(isString)try{msg=String.fromCharCode.apply(null,new Uint8Array(msg))}catch(e){var typed=new Uint8Array(msg);msg="";for(var i=0;i<typed.length;i++)msg+=String.fromCharCode(typed[i])}buffers.push(msg),bufferTail=sliceBuffer(bufferTail,msgLength)}var total=buffers.length;buffers.forEach(function(buffer,i){callback(exports.decodePacket(buffer,binaryType,!0),i,total)})}}).call(exports,__webpack_require__(4))},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),Notification=function(){function Notification(kind,value,error){this.kind=kind,this.value=value,this.error=error,this.hasValue="N"===kind}return Notification.prototype.observe=function(observer){switch(this.kind){case"N":return observer.next&&observer.next(this.value);case"E":return observer.error&&observer.error(this.error);case"C":return observer.complete&&observer.complete()}},Notification.prototype["do"]=function(next,error,complete){var kind=this.kind;switch(kind){case"N":return next&&next(this.value);case"E":return error&&error(this.error);case"C":return complete&&complete()}},Notification.prototype.accept=function(nextOrObserver,error,complete){return nextOrObserver&&"function"==typeof nextOrObserver.next?this.observe(nextOrObserver):this["do"](nextOrObserver,error,complete)},Notification.prototype.toObservable=function(){var kind=this.kind;switch(kind){case"N":return Observable_1.Observable.of(this.value);case"E":return Observable_1.Observable["throw"](this.error);case"C":return Observable_1.Observable.empty()}throw new Error("unexpected notification kind value")},Notification.createNext=function(value){return"undefined"!=typeof value?new Notification("N",value):this.undefinedValueNotification},Notification.createError=function(err){return new Notification("E",(void 0),err)},Notification.createComplete=function(){return this.completeNotification},Notification.completeNotification=new Notification("C"),Notification.undefinedValueNotification=new Notification("N",(void 0)),Notification}();exports.Notification=Notification},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},root_1=__webpack_require__(8),Action_1=__webpack_require__(405),AsyncAction=function(_super){function AsyncAction(scheduler,work){_super.call(this,scheduler,work),this.scheduler=scheduler,this.work=work,this.pending=!1}return __extends(AsyncAction,_super),AsyncAction.prototype.schedule=function(state,delay){if(void 0===delay&&(delay=0),this.closed)return this;this.state=state,this.pending=!0;var id=this.id,scheduler=this.scheduler;return null!=id&&(this.id=this.recycleAsyncId(scheduler,id,delay)),this.delay=delay,this.id=this.id||this.requestAsyncId(scheduler,this.id,delay),this},AsyncAction.prototype.requestAsyncId=function(scheduler,id,delay){return void 0===delay&&(delay=0),root_1.root.setInterval(scheduler.flush.bind(scheduler,this),delay)},AsyncAction.prototype.recycleAsyncId=function(scheduler,id,delay){return void 0===delay&&(delay=0),null!==delay&&this.delay===delay?id:root_1.root.clearInterval(id)&&void 0||void 0},AsyncAction.prototype.execute=function(state,delay){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var error=this._execute(state,delay);return error?error:void(this.pending===!1&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null)))},AsyncAction.prototype._execute=function(state,delay){var errored=!1,errorValue=void 0;try{this.work(state)}catch(e){errored=!0,errorValue=!!e&&e||new Error(e)}if(errored)return this.unsubscribe(),errorValue},AsyncAction.prototype._unsubscribe=function(){var id=this.id,scheduler=this.scheduler,actions=scheduler.actions,index=actions.indexOf(this);this.work=null,this.delay=null,this.state=null,this.pending=!1,this.scheduler=null,index!==-1&&actions.splice(index,1),null!=id&&(this.id=this.recycleAsyncId(scheduler,id,null))},AsyncAction}(Action_1.Action);exports.AsyncAction=AsyncAction},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Scheduler_1=__webpack_require__(152),AsyncScheduler=function(_super){function AsyncScheduler(){_super.apply(this,arguments),this.actions=[],this.active=!1,this.scheduled=void 0}return __extends(AsyncScheduler,_super),AsyncScheduler.prototype.flush=function(action){var actions=this.actions;if(this.active)return void actions.push(action);var error;this.active=!0;do if(error=action.execute(action.state,action.delay))break;while(action=actions.shift());if(this.active=!1,error){for(;action=actions.shift();)action.unsubscribe();throw error}},AsyncScheduler}(Scheduler_1.Scheduler);exports.AsyncScheduler=AsyncScheduler},function(module,exports,__webpack_require__){"use strict";function symbolIteratorPonyfill(root){var Symbol=root.Symbol;if("function"==typeof Symbol)return Symbol.iterator||(Symbol.iterator=Symbol("iterator polyfill")),Symbol.iterator;var Set_1=root.Set;if(Set_1&&"function"==typeof(new Set_1)["@@iterator"])return"@@iterator";var Map_1=root.Map;if(Map_1)for(var keys=Object.getOwnPropertyNames(Map_1.prototype),i=0;i<keys.length;++i){var key=keys[i];if("entries"!==key&&"size"!==key&&Map_1.prototype[key]===Map_1.prototype.entries)return key}return"@@iterator"}var root_1=__webpack_require__(8);exports.symbolIteratorPonyfill=symbolIteratorPonyfill,exports.$$iterator=symbolIteratorPonyfill(root_1.root)},function(module,exports,__webpack_require__){function Emitter(obj){if(obj)return mixin(obj)}function mixin(obj){for(var key in Emitter.prototype)obj[key]=Emitter.prototype[key];return obj}module.exports=Emitter,Emitter.prototype.on=Emitter.prototype.addEventListener=function(event,fn){return this._callbacks=this._callbacks||{},(this._callbacks["$"+event]=this._callbacks["$"+event]||[]).push(fn),this},Emitter.prototype.once=function(event,fn){function on(){this.off(event,on),fn.apply(this,arguments)}return on.fn=fn,this.on(event,on),
+this},Emitter.prototype.off=Emitter.prototype.removeListener=Emitter.prototype.removeAllListeners=Emitter.prototype.removeEventListener=function(event,fn){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var callbacks=this._callbacks["$"+event];if(!callbacks)return this;if(1==arguments.length)return delete this._callbacks["$"+event],this;for(var cb,i=0;i<callbacks.length;i++)if(cb=callbacks[i],cb===fn||cb.fn===fn){callbacks.splice(i,1);break}return this},Emitter.prototype.emit=function(event){this._callbacks=this._callbacks||{};var args=[].slice.call(arguments,1),callbacks=this._callbacks["$"+event];if(callbacks){callbacks=callbacks.slice(0);for(var i=0,len=callbacks.length;i<len;++i)callbacks[i].apply(this,args)}return this},Emitter.prototype.listeners=function(event){return this._callbacks=this._callbacks||{},this._callbacks["$"+event]||[]},Emitter.prototype.hasListeners=function(event){return!!this.listeners(event).length}},function(module,exports,__webpack_require__){(function(Buffer){function isArray(arg){return Array.isArray?Array.isArray(arg):"[object Array]"===objectToString(arg)}function isBoolean(arg){return"boolean"==typeof arg}function isNull(arg){return null===arg}function isNullOrUndefined(arg){return null==arg}function isNumber(arg){return"number"==typeof arg}function isString(arg){return"string"==typeof arg}function isSymbol(arg){return"symbol"==typeof arg}function isUndefined(arg){return void 0===arg}function isRegExp(re){return"[object RegExp]"===objectToString(re)}function isObject(arg){return"object"==typeof arg&&null!==arg}function isDate(d){return"[object Date]"===objectToString(d)}function isError(e){return"[object Error]"===objectToString(e)||e instanceof Error}function isFunction(arg){return"function"==typeof arg}function isPrimitive(arg){return null===arg||"boolean"==typeof arg||"number"==typeof arg||"string"==typeof arg||"symbol"==typeof arg||"undefined"==typeof arg}function objectToString(o){return Object.prototype.toString.call(o)}exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=Buffer.isBuffer}).call(exports,__webpack_require__(12).Buffer)},function(module,exports){"function"==typeof Object.create?module.exports=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}},function(module,exports,__webpack_require__){(function(setImmediate,clearImmediate){function Timeout(id,clearFn){this._id=id,this._clearFn=clearFn}var nextTick=__webpack_require__(16).nextTick,apply=Function.prototype.apply,slice=Array.prototype.slice,immediateIds={},nextImmediateId=0;exports.setTimeout=function(){return new Timeout(apply.call(setTimeout,window,arguments),clearTimeout)},exports.setInterval=function(){return new Timeout(apply.call(setInterval,window,arguments),clearInterval)},exports.clearTimeout=exports.clearInterval=function(timeout){timeout.close()},Timeout.prototype.unref=Timeout.prototype.ref=function(){},Timeout.prototype.close=function(){this._clearFn.call(window,this._id)},exports.enroll=function(item,msecs){clearTimeout(item._idleTimeoutId),item._idleTimeout=msecs},exports.unenroll=function(item){clearTimeout(item._idleTimeoutId),item._idleTimeout=-1},exports._unrefActive=exports.active=function(item){clearTimeout(item._idleTimeoutId);var msecs=item._idleTimeout;msecs>=0&&(item._idleTimeoutId=setTimeout(function(){item._onTimeout&&item._onTimeout()},msecs))},exports.setImmediate="function"==typeof setImmediate?setImmediate:function(fn){var id=nextImmediateId++,args=!(arguments.length<2)&&slice.call(arguments,1);return immediateIds[id]=!0,nextTick(function(){immediateIds[id]&&(args?fn.apply(null,args):fn.call(null),exports.clearImmediate(id))}),id},exports.clearImmediate="function"==typeof clearImmediate?clearImmediate:function(id){delete immediateIds[id]}}).call(exports,__webpack_require__(29).setImmediate,__webpack_require__(29).clearImmediate)},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subject_1=__webpack_require__(6),Subscription_1=__webpack_require__(5),AsyncSubject=function(_super){function AsyncSubject(){_super.apply(this,arguments),this.value=null,this.hasNext=!1,this.hasCompleted=!1}return __extends(AsyncSubject,_super),AsyncSubject.prototype._subscribe=function(subscriber){return this.hasError?(subscriber.error(this.thrownError),Subscription_1.Subscription.EMPTY):this.hasCompleted&&this.hasNext?(subscriber.next(this.value),subscriber.complete(),Subscription_1.Subscription.EMPTY):_super.prototype._subscribe.call(this,subscriber)},AsyncSubject.prototype.next=function(value){this.hasCompleted||(this.value=value,this.hasNext=!0)},AsyncSubject.prototype.error=function(error){this.hasCompleted||_super.prototype.error.call(this,error)},AsyncSubject.prototype.complete=function(){this.hasCompleted=!0,this.hasNext&&_super.prototype.next.call(this,this.value),_super.prototype.complete.call(this)},AsyncSubject}(Subject_1.Subject);exports.AsyncSubject=AsyncSubject},function(module,exports,__webpack_require__){"use strict";function mergeAll(concurrent){return void 0===concurrent&&(concurrent=Number.POSITIVE_INFINITY),this.lift(new MergeAllOperator(concurrent))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.mergeAll=mergeAll;var MergeAllOperator=function(){function MergeAllOperator(concurrent){this.concurrent=concurrent}return MergeAllOperator.prototype.call=function(observer,source){return source.subscribe(new MergeAllSubscriber(observer,this.concurrent))},MergeAllOperator}();exports.MergeAllOperator=MergeAllOperator;var MergeAllSubscriber=function(_super){function MergeAllSubscriber(destination,concurrent){_super.call(this,destination),this.concurrent=concurrent,this.hasCompleted=!1,this.buffer=[],this.active=0}return __extends(MergeAllSubscriber,_super),MergeAllSubscriber.prototype._next=function(observable){this.active<this.concurrent?(this.active++,this.add(subscribeToResult_1.subscribeToResult(this,observable))):this.buffer.push(observable)},MergeAllSubscriber.prototype._complete=function(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete()},MergeAllSubscriber.prototype.notifyComplete=function(innerSub){var buffer=this.buffer;this.remove(innerSub),this.active--,buffer.length>0?this._next(buffer.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},MergeAllSubscriber}(OuterSubscriber_1.OuterSubscriber);exports.MergeAllSubscriber=MergeAllSubscriber},function(module,exports,__webpack_require__){"use strict";function getSymbolObservable(context){var $$observable,Symbol=context.Symbol;return"function"==typeof Symbol?Symbol.observable?$$observable=Symbol.observable:($$observable=Symbol("observable"),Symbol.observable=$$observable):$$observable="@@observable",$$observable}var root_1=__webpack_require__(8);exports.getSymbolObservable=getSymbolObservable,exports.$$observable=getSymbolObservable(root_1.root)},function(module,exports,__webpack_require__){"use strict";var root_1=__webpack_require__(8),Symbol=root_1.root.Symbol;exports.$$rxSubscriber="function"==typeof Symbol&&"function"==typeof Symbol["for"]?Symbol["for"]("rxSubscriber"):"@@rxSubscriber"},function(module,exports){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},ArgumentOutOfRangeError=function(_super){function ArgumentOutOfRangeError(){var err=_super.call(this,"argument out of range");this.name=err.name="ArgumentOutOfRangeError",this.stack=err.stack,this.message=err.message}return __extends(ArgumentOutOfRangeError,_super),ArgumentOutOfRangeError}(Error);exports.ArgumentOutOfRangeError=ArgumentOutOfRangeError},function(module,exports){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},EmptyError=function(_super){function EmptyError(){var err=_super.call(this,"no elements in sequence");this.name=err.name="EmptyError",this.stack=err.stack,this.message=err.message}return __extends(EmptyError,_super),EmptyError}(Error);exports.EmptyError=EmptyError},function(module,exports){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},ObjectUnsubscribedError=function(_super){function ObjectUnsubscribedError(){var err=_super.call(this,"object unsubscribed");this.name=err.name="ObjectUnsubscribedError",this.stack=err.stack,this.message=err.message}return __extends(ObjectUnsubscribedError,_super),ObjectUnsubscribedError}(Error);exports.ObjectUnsubscribedError=ObjectUnsubscribedError},function(module,exports){"use strict";function isDate(value){return value instanceof Date&&!isNaN(+value)}exports.isDate=isDate},function(module,exports){"use strict";function isFunction(x){return"function"==typeof x}exports.isFunction=isFunction},function(module,exports,__webpack_require__){"use strict";function isNumeric(val){return!isArray_1.isArray(val)&&val-parseFloat(val)+1>=0}var isArray_1=__webpack_require__(14);exports.isNumeric=isNumeric},function(module,exports){module.exports=function(a,b){var fn=function(){};fn.prototype=b.prototype,a.prototype=new fn,a.prototype.constructor=a}},function(module,exports){module.exports=function(module){return module.webpackPolyfill||(module.deprecate=function(){},module.paths=[],module.children||(module.children=[]),Object.defineProperty(module,"loaded",{enumerable:!0,configurable:!1,get:function(){return module.l}}),Object.defineProperty(module,"id",{enumerable:!0,configurable:!1,get:function(){return module.i}}),module.webpackPolyfill=1),module}},function(module,exports){function EventEmitter(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function isFunction(arg){return"function"==typeof arg}function isNumber(arg){return"number"==typeof arg}function isObject(arg){return"object"==typeof arg&&null!==arg}function isUndefined(arg){return void 0===arg}module.exports=EventEmitter,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._maxListeners=void 0,EventEmitter.defaultMaxListeners=10,EventEmitter.prototype.setMaxListeners=function(n){if(!isNumber(n)||n<0||isNaN(n))throw TypeError("n must be a positive number");return this._maxListeners=n,this},EventEmitter.prototype.emit=function(type){var er,handler,len,args,i,listeners;if(this._events||(this._events={}),"error"===type&&(!this._events.error||isObject(this._events.error)&&!this._events.error.length)){if(er=arguments[1],er instanceof Error)throw er;var err=new Error('Uncaught, unspecified "error" event. ('+er+")");throw err.context=er,err}if(handler=this._events[type],isUndefined(handler))return!1;if(isFunction(handler))switch(arguments.length){case 1:handler.call(this);break;case 2:handler.call(this,arguments[1]);break;case 3:handler.call(this,arguments[1],arguments[2]);break;default:args=Array.prototype.slice.call(arguments,1),handler.apply(this,args)}else if(isObject(handler))for(args=Array.prototype.slice.call(arguments,1),listeners=handler.slice(),len=listeners.length,i=0;i<len;i++)listeners[i].apply(this,args);return!0},EventEmitter.prototype.addListener=function(type,listener){var m;if(!isFunction(listener))throw TypeError("listener must be a function");return this._events||(this._events={}),this._events.newListener&&this.emit("newListener",type,isFunction(listener.listener)?listener.listener:listener),this._events[type]?isObject(this._events[type])?this._events[type].push(listener):this._events[type]=[this._events[type],listener]:this._events[type]=listener,isObject(this._events[type])&&!this._events[type].warned&&(m=isUndefined(this._maxListeners)?EventEmitter.defaultMaxListeners:this._maxListeners,m&&m>0&&this._events[type].length>m&&(this._events[type].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[type].length),"function"==typeof console.trace&&console.trace())),this},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.once=function(type,listener){function g(){this.removeListener(type,g),fired||(fired=!0,listener.apply(this,arguments))}if(!isFunction(listener))throw TypeError("listener must be a function");var fired=!1;return g.listener=listener,this.on(type,g),this},EventEmitter.prototype.removeListener=function(type,listener){var list,position,length,i;if(!isFunction(listener))throw TypeError("listener must be a function");if(!this._events||!this._events[type])return this;if(list=this._events[type],length=list.length,position=-1,list===listener||isFunction(list.listener)&&list.listener===listener)delete this._events[type],this._events.removeListener&&this.emit("removeListener",type,listener);else if(isObject(list)){for(i=length;i-- >0;)if(list[i]===listener||list[i].listener&&list[i].listener===listener){position=i;break}if(position<0)return this;1===list.length?(list.length=0,delete this._events[type]):list.splice(position,1),this._events.removeListener&&this.emit("removeListener",type,listener)}return this},EventEmitter.prototype.removeAllListeners=function(type){var key,listeners;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[type]&&delete this._events[type],this;if(0===arguments.length){for(key in this._events)"removeListener"!==key&&this.removeAllListeners(key);return this.removeAllListeners("removeListener"),this._events={},this}if(listeners=this._events[type],isFunction(listeners))this.removeListener(type,listeners);else if(listeners)for(;listeners.length;)this.removeListener(type,listeners[listeners.length-1]);return delete this._events[type],this},EventEmitter.prototype.listeners=function(type){var ret;return ret=this._events&&this._events[type]?isFunction(this._events[type])?[this._events[type]]:this._events[type].slice():[]},EventEmitter.prototype.listenerCount=function(type){if(this._events){var evlistener=this._events[type];if(isFunction(evlistener))return 1;if(evlistener)return evlistener.length}return 0},EventEmitter.listenerCount=function(emitter,type){return emitter.listenerCount(type)}},function(module,exports,__webpack_require__){(function(global){var ClientRequest=__webpack_require__(468),extend=__webpack_require__(472),statusCodes=__webpack_require__(470),url=__webpack_require__(44),http=exports;http.request=function(opts,cb){opts="string"==typeof opts?url.parse(opts):extend(opts);var defaultProtocol=global.location.protocol.search(/^https?:$/)===-1?"http:":"",protocol=opts.protocol||defaultProtocol,host=opts.hostname||opts.host,port=opts.port,path=opts.path||"/";host&&host.indexOf(":")!==-1&&(host="["+host+"]"),opts.url=(host?protocol+"//"+host:"")+(port?":"+port:"")+path,opts.method=(opts.method||"GET").toUpperCase(),opts.headers=opts.headers||{};var req=new ClientRequest(opts);return cb&&req.on("response",cb),req},http.get=function(opts,cb){var req=http.request(opts,cb);return req.end(),req},http.Agent=function(){},http.Agent.defaultMaxSockets=4,http.STATUS_CODES=statusCodes,http.METHODS=["CHECKOUT","CONNECT","COPY","DELETE","GET","HEAD","LOCK","M-SEARCH","MERGE","MKACTIVITY","MKCOL","MOVE","NOTIFY","OPTIONS","PATCH","POST","PROPFIND","PROPPATCH","PURGE","PUT","REPORT","SEARCH","SUBSCRIBE","TRACE","UNLOCK","UNSUBSCRIBE"]}).call(exports,__webpack_require__(4))},function(module,exports,__webpack_require__){"use strict";function Url(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function urlParse(url,parseQueryString,slashesDenoteHost){if(url&&util.isObject(url)&&url instanceof Url)return url;var u=new Url;return u.parse(url,parseQueryString,slashesDenoteHost),u}function urlFormat(obj){return util.isString(obj)&&(obj=urlParse(obj)),obj instanceof Url?obj.format():Url.prototype.format.call(obj)}function urlResolve(source,relative){return urlParse(source,!1,!0).resolve(relative)}function urlResolveObject(source,relative){return source?urlParse(source,!1,!0).resolveObject(relative):relative}var punycode=__webpack_require__(456),util=__webpack_require__(473);exports.parse=urlParse,exports.resolve=urlResolve,exports.resolveObject=urlResolveObject,exports.format=urlFormat,exports.Url=Url;var protocolPattern=/^([a-z0-9.+-]+:)/i,portPattern=/:[0-9]*$/,simplePathPattern=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,delims=["<",">",'"',"`"," ","\r","\n","\t"],unwise=["{","}","|","\\","^","`"].concat(delims),autoEscape=["'"].concat(unwise),nonHostChars=["%","/","?",";","#"].concat(autoEscape),hostEndingChars=["/","?","#"],hostnameMaxLen=255,hostnamePartPattern=/^[+a-z0-9A-Z_-]{0,63}$/,hostnamePartStart=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,unsafeProtocol={javascript:!0,"javascript:":!0},hostlessProtocol={javascript:!0,"javascript:":!0},slashedProtocol={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},querystring=__webpack_require__(459);Url.prototype.parse=function(url,parseQueryString,slashesDenoteHost){if(!util.isString(url))throw new TypeError("Parameter 'url' must be a string, not "+typeof url);var queryIndex=url.indexOf("?"),splitter=queryIndex!==-1&&queryIndex<url.indexOf("#")?"?":"#",uSplit=url.split(splitter),slashRegex=/\\/g;uSplit[0]=uSplit[0].replace(slashRegex,"/"),url=uSplit.join(splitter);var rest=url;if(rest=rest.trim(),!slashesDenoteHost&&1===url.split("#").length){var simplePath=simplePathPattern.exec(rest);if(simplePath)return this.path=rest,this.href=rest,this.pathname=simplePath[1],simplePath[2]?(this.search=simplePath[2],parseQueryString?this.query=querystring.parse(this.search.substr(1)):this.query=this.search.substr(1)):parseQueryString&&(this.search="",this.query={}),this}var proto=protocolPattern.exec(rest);if(proto){proto=proto[0];var lowerProto=proto.toLowerCase();this.protocol=lowerProto,rest=rest.substr(proto.length)}if(slashesDenoteHost||proto||rest.match(/^\/\/[^@\/]+@[^@\/]+/)){var slashes="//"===rest.substr(0,2);!slashes||proto&&hostlessProtocol[proto]||(rest=rest.substr(2),this.slashes=!0)}if(!hostlessProtocol[proto]&&(slashes||proto&&!slashedProtocol[proto])){for(var hostEnd=-1,i=0;i<hostEndingChars.length;i++){var hec=rest.indexOf(hostEndingChars[i]);hec!==-1&&(hostEnd===-1||hec<hostEnd)&&(hostEnd=hec)}var auth,atSign;atSign=hostEnd===-1?rest.lastIndexOf("@"):rest.lastIndexOf("@",hostEnd),atSign!==-1&&(auth=rest.slice(0,atSign),rest=rest.slice(atSign+1),this.auth=decodeURIComponent(auth)),hostEnd=-1;for(var i=0;i<nonHostChars.length;i++){var hec=rest.indexOf(nonHostChars[i]);hec!==-1&&(hostEnd===-1||hec<hostEnd)&&(hostEnd=hec)}hostEnd===-1&&(hostEnd=rest.length),this.host=rest.slice(0,hostEnd),rest=rest.slice(hostEnd),this.parseHost(),this.hostname=this.hostname||"";var ipv6Hostname="["===this.hostname[0]&&"]"===this.hostname[this.hostname.length-1];if(!ipv6Hostname)for(var hostparts=this.hostname.split(/\./),i=0,l=hostparts.length;i<l;i++){var part=hostparts[i];if(part&&!part.match(hostnamePartPattern)){for(var newpart="",j=0,k=part.length;j<k;j++)newpart+=part.charCodeAt(j)>127?"x":part[j];if(!newpart.match(hostnamePartPattern)){var validParts=hostparts.slice(0,i),notHost=hostparts.slice(i+1),bit=part.match(hostnamePartStart);bit&&(validParts.push(bit[1]),notHost.unshift(bit[2])),notHost.length&&(rest="/"+notHost.join(".")+rest),this.hostname=validParts.join(".");break}}}this.hostname.length>hostnameMaxLen?this.hostname="":this.hostname=this.hostname.toLowerCase(),ipv6Hostname||(this.hostname=punycode.toASCII(this.hostname));var p=this.port?":"+this.port:"",h=this.hostname||"";this.host=h+p,this.href+=this.host,ipv6Hostname&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==rest[0]&&(rest="/"+rest))}if(!unsafeProtocol[lowerProto])for(var i=0,l=autoEscape.length;i<l;i++){var ae=autoEscape[i];if(rest.indexOf(ae)!==-1){var esc=encodeURIComponent(ae);esc===ae&&(esc=escape(ae)),rest=rest.split(ae).join(esc)}}var hash=rest.indexOf("#");hash!==-1&&(this.hash=rest.substr(hash),rest=rest.slice(0,hash));var qm=rest.indexOf("?");if(qm!==-1?(this.search=rest.substr(qm),this.query=rest.substr(qm+1),parseQueryString&&(this.query=querystring.parse(this.query)),rest=rest.slice(0,qm)):parseQueryString&&(this.search="",this.query={}),rest&&(this.pathname=rest),slashedProtocol[lowerProto]&&this.hostname&&!this.pathname&&(this.pathname="/"),this.pathname||this.search){var p=this.pathname||"",s=this.search||"";this.path=p+s}return this.href=this.format(),this},Url.prototype.format=function(){var auth=this.auth||"";auth&&(auth=encodeURIComponent(auth),auth=auth.replace(/%3A/i,":"),auth+="@");var protocol=this.protocol||"",pathname=this.pathname||"",hash=this.hash||"",host=!1,query="";this.host?host=auth+this.host:this.hostname&&(host=auth+(this.hostname.indexOf(":")===-1?this.hostname:"["+this.hostname+"]"),this.port&&(host+=":"+this.port)),this.query&&util.isObject(this.query)&&Object.keys(this.query).length&&(query=querystring.stringify(this.query));var search=this.search||query&&"?"+query||"";return protocol&&":"!==protocol.substr(-1)&&(protocol+=":"),this.slashes||(!protocol||slashedProtocol[protocol])&&host!==!1?(host="//"+(host||""),pathname&&"/"!==pathname.charAt(0)&&(pathname="/"+pathname)):host||(host=""),hash&&"#"!==hash.charAt(0)&&(hash="#"+hash),search&&"?"!==search.charAt(0)&&(search="?"+search),pathname=pathname.replace(/[?#]/g,function(match){return encodeURIComponent(match)}),search=search.replace("#","%23"),protocol+host+pathname+search+hash},Url.prototype.resolve=function(relative){return this.resolveObject(urlParse(relative,!1,!0)).format()},Url.prototype.resolveObject=function(relative){if(util.isString(relative)){var rel=new Url;rel.parse(relative,!1,!0),relative=rel}for(var result=new Url,tkeys=Object.keys(this),tk=0;tk<tkeys.length;tk++){var tkey=tkeys[tk];result[tkey]=this[tkey]}if(result.hash=relative.hash,""===relative.href)return result.href=result.format(),result;if(relative.slashes&&!relative.protocol){for(var rkeys=Object.keys(relative),rk=0;rk<rkeys.length;rk++){var rkey=rkeys[rk];"protocol"!==rkey&&(result[rkey]=relative[rkey])}return slashedProtocol[result.protocol]&&result.hostname&&!result.pathname&&(result.path=result.pathname="/"),result.href=result.format(),result}if(relative.protocol&&relative.protocol!==result.protocol){if(!slashedProtocol[relative.protocol]){for(var keys=Object.keys(relative),v=0;v<keys.length;v++){var k=keys[v];result[k]=relative[k]}return result.href=result.format(),result}if(result.protocol=relative.protocol,relative.host||hostlessProtocol[relative.protocol])result.pathname=relative.pathname;else{for(var relPath=(relative.pathname||"").split("/");relPath.length&&!(relative.host=relPath.shift()););relative.host||(relative.host=""),relative.hostname||(relative.hostname=""),""!==relPath[0]&&relPath.unshift(""),relPath.length<2&&relPath.unshift(""),result.pathname=relPath.join("/")}if(result.search=relative.search,result.query=relative.query,result.host=relative.host||"",result.auth=relative.auth,result.hostname=relative.hostname||relative.host,result.port=relative.port,result.pathname||result.search){var p=result.pathname||"",s=result.search||"";result.path=p+s}return result.slashes=result.slashes||relative.slashes,result.href=result.format(),result}var isSourceAbs=result.pathname&&"/"===result.pathname.charAt(0),isRelAbs=relative.host||relative.pathname&&"/"===relative.pathname.charAt(0),mustEndAbs=isRelAbs||isSourceAbs||result.host&&relative.pathname,removeAllDots=mustEndAbs,srcPath=result.pathname&&result.pathname.split("/")||[],relPath=relative.pathname&&relative.pathname.split("/")||[],psychotic=result.protocol&&!slashedProtocol[result.protocol];if(psychotic&&(result.hostname="",result.port=null,result.host&&(""===srcPath[0]?srcPath[0]=result.host:srcPath.unshift(result.host)),result.host="",relative.protocol&&(relative.hostname=null,relative.port=null,relative.host&&(""===relPath[0]?relPath[0]=relative.host:relPath.unshift(relative.host)),relative.host=null),mustEndAbs=mustEndAbs&&(""===relPath[0]||""===srcPath[0])),isRelAbs)result.host=relative.host||""===relative.host?relative.host:result.host,result.hostname=relative.hostname||""===relative.hostname?relative.hostname:result.hostname,result.search=relative.search,result.query=relative.query,srcPath=relPath;else if(relPath.length)srcPath||(srcPath=[]),srcPath.pop(),srcPath=srcPath.concat(relPath),result.search=relative.search,result.query=relative.query;else if(!util.isNullOrUndefined(relative.search)){if(psychotic){result.hostname=result.host=srcPath.shift();var authInHost=!!(result.host&&result.host.indexOf("@")>0)&&result.host.split("@");authInHost&&(result.auth=authInHost.shift(),result.host=result.hostname=authInHost.shift())}return result.search=relative.search,result.query=relative.query,util.isNull(result.pathname)&&util.isNull(result.search)||(result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")),result.href=result.format(),result}if(!srcPath.length)return result.pathname=null,result.search?result.path="/"+result.search:result.path=null,result.href=result.format(),result;for(var last=srcPath.slice(-1)[0],hasTrailingSlash=(result.host||relative.host||srcPath.length>1)&&("."===last||".."===last)||""===last,up=0,i=srcPath.length;i>=0;i--)last=srcPath[i],"."===last?srcPath.splice(i,1):".."===last?(srcPath.splice(i,1),up++):up&&(srcPath.splice(i,1),up--);if(!mustEndAbs&&!removeAllDots)for(;up--;up)srcPath.unshift("..");!mustEndAbs||""===srcPath[0]||srcPath[0]&&"/"===srcPath[0].charAt(0)||srcPath.unshift(""),hasTrailingSlash&&"/"!==srcPath.join("/").substr(-1)&&srcPath.push("");var isAbsolute=""===srcPath[0]||srcPath[0]&&"/"===srcPath[0].charAt(0);if(psychotic){result.hostname=result.host=isAbsolute?"":srcPath.length?srcPath.shift():"";var authInHost=!!(result.host&&result.host.indexOf("@")>0)&&result.host.split("@");authInHost&&(result.auth=authInHost.shift(),result.host=result.hostname=authInHost.shift())}return mustEndAbs=mustEndAbs||result.host&&srcPath.length,mustEndAbs&&!isAbsolute&&srcPath.unshift(""),srcPath.length?result.pathname=srcPath.join("/"):(result.pathname=null,result.path=null),util.isNull(result.pathname)&&util.isNull(result.search)||(result.path=(result.pathname?result.pathname:"")+(result.search?result.search:"")),result.auth=relative.auth||result.auth,result.slashes=result.slashes||relative.slashes,result.href=result.format(),result},Url.prototype.parseHost=function(){var host=this.host,port=portPattern.exec(host);port&&(port=port[0],":"!==port&&(this.port=port.substr(1)),host=host.substr(0,host.length-port.length)),host&&(this.hostname=host)}},function(module,exports,__webpack_require__){__webpack_require__(127),module.exports="ngCookies"},function(module,exports,__webpack_require__){__webpack_require__(128),module.exports="ngResource"},function(module,exports,__webpack_require__){/*!
+ * State-based routing for AngularJS
+ * @version v1.0.0-beta.1
+ * @link https://ui-router.github.io
+ * @license MIT License, http://www.opensource.org/licenses/MIT
+ */
+!function(root,factory){module.exports=factory()}(this,function(){return function(modules){function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:!1};return modules[moduleId].call(module.exports,module,module.exports,__webpack_require__),module.loaded=!0,module.exports}var installedModules={};return __webpack_require__.m=modules,__webpack_require__.c=installedModules,__webpack_require__.p="",__webpack_require__(0)}([function(module,exports,__webpack_require__){"use strict";function __export(m){for(var p in m)exports.hasOwnProperty(p)||(exports[p]=m[p])}__export(__webpack_require__(1)),__export(__webpack_require__(53)),__export(__webpack_require__(55)),__webpack_require__(58),__webpack_require__(59),__webpack_require__(60),__webpack_require__(61),Object.defineProperty(exports,"__esModule",{value:!0}),exports["default"]="ui.router"},function(module,exports,__webpack_require__){"use strict";function __export(m){for(var p in m)exports.hasOwnProperty(p)||(exports[p]=m[p])}__export(__webpack_require__(2)),__export(__webpack_require__(46)),__export(__webpack_require__(47)),__export(__webpack_require__(48)),__export(__webpack_require__(49)),__export(__webpack_require__(50)),__export(__webpack_require__(51)),__export(__webpack_require__(52)),__export(__webpack_require__(44));var router_1=__webpack_require__(26);exports.UIRouter=router_1.UIRouter},function(module,exports,__webpack_require__){"use strict";function __export(m){for(var p in m)exports.hasOwnProperty(p)||(exports[p]=m[p])}__export(__webpack_require__(3)),__export(__webpack_require__(6)),__export(__webpack_require__(7)),__export(__webpack_require__(5)),__export(__webpack_require__(4)),__export(__webpack_require__(8)),__export(__webpack_require__(9)),__export(__webpack_require__(12))},function(module,exports,__webpack_require__){"use strict";function bindFunctions(from,to,bindTo,fnNames){return void 0===fnNames&&(fnNames=Object.keys(from)),fnNames.filter(function(name){return"function"==typeof from[name]}).forEach(function(name){return to[name]=from[name].bind(bindTo)})}function defaults(opts){void 0===opts&&(opts={});for(var defaultsList=[],_i=1;_i<arguments.length;_i++)defaultsList[_i-1]=arguments[_i];var defaults=merge.apply(null,[{}].concat(defaultsList));return exports.extend({},defaults,pick(opts||{},Object.keys(defaults)))}function merge(dst){for(var objs=[],_i=1;_i<arguments.length;_i++)objs[_i-1]=arguments[_i];return exports.forEach(objs,function(obj){exports.forEach(obj,function(value,key){dst.hasOwnProperty(key)||(dst[key]=value)})}),dst}function ancestors(first,second){var path=[];for(var n in first.path){if(first.path[n]!==second.path[n])break;path.push(first.path[n])}return path}function equalForKeys(a,b,keys){void 0===keys&&(keys=Object.keys(a));for(var i=0;i<keys.length;i++){var k=keys[i];if(a[k]!=b[k])return!1}return!0}function pickOmitImpl(predicate,obj){var objCopy={},keys=restArgs(arguments,2);for(var key in obj)predicate(keys,key)&&(objCopy[key]=obj[key]);return objCopy}function pick(obj){return pickOmitImpl.apply(null,[exports.inArray].concat(restArgs(arguments)))}function omit(obj){return pickOmitImpl.apply(null,[hof_1.not(exports.inArray)].concat(restArgs(arguments)))}function pluck(collection,propName){return map(collection,hof_1.prop(propName))}function filter(collection,callback){var arr=predicates_1.isArray(collection),result=arr?[]:{},accept=arr?function(x){return result.push(x)}:function(x,key){return result[key]=x};return exports.forEach(collection,function(item,i){callback(item,i)&&accept(item,i)}),result}function find(collection,callback){var result;return exports.forEach(collection,function(item,i){result||callback(item,i)&&(result=item)}),result}function map(collection,callback){var result=predicates_1.isArray(collection)?[]:{};return exports.forEach(collection,function(item,i){return result[i]=callback(item,i)}),result}function pushR(arr,obj){return arr.push(obj),arr}function assertPredicate(predicate,errMsg){return void 0===errMsg&&(errMsg="assert failure"),function(obj){if(!predicate(obj))throw new Error(predicates_1.isFunction(errMsg)?errMsg(obj):errMsg);return!0}}function arrayTuples(){for(var arrayArgs=[],_i=0;_i<arguments.length;_i++)arrayArgs[_i-0]=arguments[_i];if(0===arrayArgs.length)return[];var length=arrayArgs.reduce(function(min,arr){return Math.min(arr.length,min)},9007199254740991);return Array.apply(null,Array(length)).map(function(ignored,idx){return arrayArgs.map(function(arr){return arr[idx]})})}function applyPairs(memo,keyValTuple){var key,value;if(predicates_1.isArray(keyValTuple)&&(key=keyValTuple[0],value=keyValTuple[1]),!predicates_1.isString(key))throw new Error("invalid parameters to applyPairs");return memo[key]=value,memo}function tail(arr){return arr.length&&arr[arr.length-1]||void 0}function _copy(src,dest){return dest&&Object.keys(dest).forEach(function(key){return delete dest[key]}),dest||(dest={}),exports.extend(dest,src)}function _forEach(obj,cb,_this){return predicates_1.isArray(obj)?obj.forEach(cb,_this):void Object.keys(obj).forEach(function(key){return cb(obj[key],key)})}function _copyProps(to,from){return Object.keys(from).forEach(function(key){return to[key]=from[key]}),to}function _extend(toObj,rest){return restArgs(arguments,1).filter(exports.identity).reduce(_copyProps,toObj)}function _equals(o1,o2){if(o1===o2)return!0;if(null===o1||null===o2)return!1;if(o1!==o1&&o2!==o2)return!0;var t1=typeof o1,t2=typeof o2;if(t1!==t2||"object"!==t1)return!1;var tup=[o1,o2];if(hof_1.all(predicates_1.isArray)(tup))return _arraysEq(o1,o2);if(hof_1.all(predicates_1.isDate)(tup))return o1.getTime()===o2.getTime();if(hof_1.all(predicates_1.isRegExp)(tup))return o1.toString()===o2.toString();if(hof_1.all(predicates_1.isFunction)(tup))return!0;var predicates=[predicates_1.isFunction,predicates_1.isArray,predicates_1.isDate,predicates_1.isRegExp];if(predicates.map(hof_1.any).reduce(function(b,fn){return b||!!fn(tup)},!1))return!1;var key,keys={};for(key in o1){if(!_equals(o1[key],o2[key]))return!1;keys[key]=!0}for(key in o2)if(!keys[key])return!1;return!0}function _arraysEq(a1,a2){return a1.length===a2.length&&arrayTuples(a1,a2).reduce(function(b,t){return b&&_equals(t[0],t[1])},!0)}var predicates_1=__webpack_require__(4),hof_1=__webpack_require__(5),coreservices_1=__webpack_require__(6),w="undefined"==typeof window?{}:window,angular=w.angular||{};exports.fromJson=angular.fromJson||JSON.parse.bind(JSON),exports.toJson=angular.toJson||JSON.stringify.bind(JSON),exports.copy=angular.copy||_copy,exports.forEach=angular.forEach||_forEach,exports.extend=angular.extend||_extend,exports.equals=angular.equals||_equals,exports.identity=function(x){return x},exports.noop=function(){},exports.abstractKey="abstract",exports.bindFunctions=bindFunctions,exports.inherit=function(parent,extra){return exports.extend(new(exports.extend(function(){},{prototype:parent})),extra)};var restArgs=function(args,idx){return void 0===idx&&(idx=0),Array.prototype.concat.apply(Array.prototype,Array.prototype.slice.call(args,idx))};exports.inArray=function(array,obj){return array.indexOf(obj)!==-1},exports.removeFrom=hof_1.curry(function(array,obj){var idx=array.indexOf(obj);return idx>=0&&array.splice(idx,1),array}),exports.defaults=defaults,exports.merge=merge,exports.mergeR=function(memo,item){return exports.extend(memo,item)},exports.ancestors=ancestors,exports.equalForKeys=equalForKeys,exports.pick=pick,exports.omit=omit,exports.pluck=pluck,exports.filter=filter,exports.find=find,exports.mapObj=map,exports.map=map,exports.values=function(obj){return Object.keys(obj).map(function(key){return obj[key]})},exports.allTrueR=function(memo,elem){return memo&&elem},exports.anyTrueR=function(memo,elem){return memo||elem},exports.unnestR=function(memo,elem){return memo.concat(elem)},exports.flattenR=function(memo,elem){return predicates_1.isArray(elem)?memo.concat(elem.reduce(exports.flattenR,[])):pushR(memo,elem)},exports.pushR=pushR,exports.uniqR=function(acc,token){return exports.inArray(acc,token)?acc:pushR(acc,token)},exports.unnest=function(arr){return arr.reduce(exports.unnestR,[])},exports.flatten=function(arr){return arr.reduce(exports.flattenR,[])},exports.assertPredicate=assertPredicate,exports.pairs=function(object){return Object.keys(object).map(function(key){return[key,object[key]]})},exports.arrayTuples=arrayTuples,exports.applyPairs=applyPairs,exports.tail=tail,exports.silenceUncaughtInPromise=function(promise){return promise["catch"](function(e){return 0})&&promise},exports.silentRejection=function(error){return exports.silenceUncaughtInPromise(coreservices_1.services.$q.reject(error))}},function(module,exports,__webpack_require__){"use strict";function isInjectable(val){if(exports.isArray(val)&&val.length){var head=val.slice(0,-1),tail=val.slice(-1);return!(head.filter(hof_1.not(exports.isString)).length||tail.filter(hof_1.not(exports.isFunction)).length)}return exports.isFunction(val)}var hof_1=__webpack_require__(5),toStr=Object.prototype.toString,tis=function(t){return function(x){return typeof x===t}};exports.isUndefined=tis("undefined"),exports.isDefined=hof_1.not(exports.isUndefined),exports.isNull=function(o){return null===o},exports.isFunction=tis("function"),exports.isNumber=tis("number"),exports.isString=tis("string"),exports.isObject=function(x){return null!==x&&"object"==typeof x},exports.isArray=Array.isArray,exports.isDate=function(x){return"[object Date]"===toStr.call(x)},exports.isRegExp=function(x){return"[object RegExp]"===toStr.call(x)},exports.isInjectable=isInjectable,exports.isPromise=hof_1.and(exports.isObject,hof_1.pipe(hof_1.prop("then"),exports.isFunction))},function(module,exports){"use strict";function curry(fn){function curried(args){return args.length>=func_args_length?fn.apply(null,args):function(){return curried(args.concat([].slice.apply(arguments)))}}var initial_args=[].slice.apply(arguments,[1]),func_args_length=fn.length;return curried(initial_args)}function compose(){var args=arguments,start=args.length-1;return function(){for(var i=start,result=args[start].apply(this,arguments);i--;)result=args[i].call(this,result);return result}}function pipe(){for(var funcs=[],_i=0;_i<arguments.length;_i++)funcs[_i-0]=arguments[_i];return compose.apply(null,[].slice.call(arguments).reverse())}function and(fn1,fn2){return function(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i-0]=arguments[_i];return fn1.apply(null,args)&&fn2.apply(null,args)}}function or(fn1,fn2){return function(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i-0]=arguments[_i];return fn1.apply(null,args)||fn2.apply(null,args)}}function invoke(fnName,args){return function(obj){return obj[fnName].apply(obj,args)}}function pattern(struct){return function(x){for(var i=0;i<struct.length;i++)if(struct[i][0](x))return struct[i][1](x)}}exports.curry=curry,exports.compose=compose,exports.pipe=pipe,exports.prop=function(name){return function(obj){return obj&&obj[name]}},exports.propEq=curry(function(name,val,obj){return obj&&obj[name]===val}),exports.parse=function(name){return pipe.apply(null,name.split(".").map(exports.prop))},exports.not=function(fn){return function(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i-0]=arguments[_i];return!fn.apply(null,args)}},exports.and=and,exports.or=or,exports.all=function(fn1){return function(arr){return arr.reduce(function(b,x){return b&&!!fn1(x)},!0)}},exports.any=function(fn1){return function(arr){return arr.reduce(function(b,x){return b||!!fn1(x)},!1)}},exports.none=exports.not(exports.any),exports.is=function(ctor){return function(obj){return null!=obj&&obj.constructor===ctor||obj instanceof ctor}},exports.eq=function(val){return function(other){return val===other}},exports.val=function(v){return function(){return v}},exports.invoke=invoke,exports.pattern=pattern},function(module,exports){"use strict";var notImplemented=function(fnname){return function(){throw new Error(fnname+"(): No coreservices implementation for UI-Router is loaded. You should include one of: ['angular1.js']")}},services={$q:void 0,$injector:void 0,location:{},locationConfig:{},template:{}};exports.services=services,["replace","url","path","search","hash","onChange"].forEach(function(key){return services.location[key]=notImplemented(key)}),["port","protocol","host","baseHref","html5Mode","hashPrefix"].forEach(function(key){return services.locationConfig[key]=notImplemented(key)})},function(module,exports){"use strict";var Glob=function(){function Glob(text){this.text=text,this.glob=text.split(".")}return Glob.prototype.matches=function(name){for(var segments=name.split("."),i=0,l=this.glob.length;i<l;i++)"*"===this.glob[i]&&(segments[i]="*");return"**"===this.glob[0]&&(segments=segments.slice(segments.indexOf(this.glob[1])),segments.unshift("**")),"**"===this.glob[this.glob.length-1]&&(segments.splice(segments.indexOf(this.glob[this.glob.length-2])+1,Number.MAX_VALUE),segments.push("**")),this.glob.length==segments.length&&segments.join("")===this.glob.join("")},Glob.is=function(text){return text.indexOf("*")>-1},Glob.fromString=function(text){return this.is(text)?new Glob(text):null},Glob}();exports.Glob=Glob},function(module,exports){"use strict";var Queue=function(){function Queue(_items,_limit){void 0===_items&&(_items=[]),void 0===_limit&&(_limit=null),this._items=_items,this._limit=_limit}return Queue.prototype.enqueue=function(item){var items=this._items;return items.push(item),this._limit&&items.length>this._limit&&items.shift(),item},Queue.prototype.dequeue=function(){if(this.size())return this._items.splice(0,1)[0]},Queue.prototype.clear=function(){var current=this._items;return this._items=[],current},Queue.prototype.size=function(){return this._items.length},Queue.prototype.remove=function(item){var idx=this._items.indexOf(item);return idx>-1&&this._items.splice(idx,1)[0]},Queue.prototype.peekTail=function(){return this._items[this._items.length-1]},Queue.prototype.peekHead=function(){if(this.size())return this._items[0]},Queue}();exports.Queue=Queue},function(module,exports,__webpack_require__){"use strict";function maxLength(max,str){return str.length<=max?str:str.substr(0,max-3)+"..."}function padString(length,str){for(;str.length<length;)str+=" ";return str}function kebobString(camelCase){return camelCase.replace(/^([A-Z])/,function($1){return $1.toLowerCase()}).replace(/([A-Z])/g,function($1){return"-"+$1.toLowerCase()})}function functionToString(fn){var fnStr=fnToString(fn),namedFunctionMatch=fnStr.match(/^(function [^ ]+\([^)]*\))/);return namedFunctionMatch?namedFunctionMatch[1]:fnStr}function fnToString(fn){var _fn=predicates_1.isArray(fn)?fn.slice(-1)[0]:fn;return _fn&&_fn.toString()||"undefined"}function stringify(o){function format(val){if(predicates_1.isObject(val)){if(seen.indexOf(val)!==-1)return"[circular ref]";seen.push(val)}return stringifyPattern(val)}var seen=[];return JSON.stringify(o,function(key,val){return format(val)}).replace(/\\"/g,'"')}var predicates_1=__webpack_require__(4),rejectFactory_1=__webpack_require__(10),common_1=__webpack_require__(3),hof_1=__webpack_require__(5),transition_1=__webpack_require__(11),resolvable_1=__webpack_require__(19);exports.maxLength=maxLength,exports.padString=padString,exports.kebobString=kebobString,exports.functionToString=functionToString,exports.fnToString=fnToString;var stringifyPatternFn=null,stringifyPattern=function(value){var isTransitionRejectionPromise=rejectFactory_1.Rejection.isTransitionRejectionPromise;return(stringifyPatternFn=stringifyPatternFn||hof_1.pattern([[hof_1.not(predicates_1.isDefined),hof_1.val("undefined")],[predicates_1.isNull,hof_1.val("null")],[predicates_1.isPromise,hof_1.val("[Promise]")],[isTransitionRejectionPromise,function(x){return x._transitionRejection.toString()}],[hof_1.is(rejectFactory_1.Rejection),hof_1.invoke("toString")],[hof_1.is(transition_1.Transition),hof_1.invoke("toString")],[hof_1.is(resolvable_1.Resolvable),hof_1.invoke("toString")],[predicates_1.isInjectable,functionToString],[hof_1.val(!0),common_1.identity]]))(value)};exports.stringify=stringify,exports.beforeAfterSubstr=function(char){return function(str){if(!str)return["",""];var idx=str.indexOf(char);return idx===-1?[str,""]:[str.substr(0,idx),str.substr(idx+1)]}}},function(module,exports,__webpack_require__){"use strict";var common_1=__webpack_require__(3),strings_1=__webpack_require__(9);!function(RejectType){RejectType[RejectType.SUPERSEDED=2]="SUPERSEDED",RejectType[RejectType.ABORTED=3]="ABORTED",RejectType[RejectType.INVALID=4]="INVALID",RejectType[RejectType.IGNORED=5]="IGNORED",RejectType[RejectType.ERROR=6]="ERROR"}(exports.RejectType||(exports.RejectType={}));var RejectType=exports.RejectType,Rejection=function(){function Rejection(type,message,detail){this.type=type,this.message=message,this.detail=detail}return Rejection.prototype.toString=function(){var detailString=function(d){return d&&d.toString!==Object.prototype.toString?d.toString():strings_1.stringify(d)},type=this.type,message=this.message,detail=detailString(this.detail);return"TransitionRejection(type: "+type+", message: "+message+", detail: "+detail+")"},Rejection.prototype.toPromise=function(){return common_1.extend(common_1.silentRejection(this),{_transitionRejection:this})},Rejection.isTransitionRejectionPromise=function(obj){return obj&&"function"==typeof obj.then&&obj._transitionRejection instanceof Rejection},Rejection.superseded=function(detail,options){var message="The transition has been superseded by a different transition (see detail).",rejection=new Rejection(RejectType.SUPERSEDED,message,detail);return options&&options.redirected&&(rejection.redirected=!0),rejection},Rejection.redirected=function(detail){return Rejection.superseded(detail,{redirected:!0})},Rejection.invalid=function(detail){var message="This transition is invalid (see detail)";return new Rejection(RejectType.INVALID,message,detail)},Rejection.ignored=function(detail){var message="The transition was ignored.";return new Rejection(RejectType.IGNORED,message,detail)},Rejection.aborted=function(detail){var message="The transition has been aborted.";return new Rejection(RejectType.ABORTED,message,detail)},Rejection.errored=function(detail){var message="The transition errored.";return new Rejection(RejectType.ERROR,message,detail)},Rejection}();exports.Rejection=Rejection},function(module,exports,__webpack_require__){"use strict";var trace_1=__webpack_require__(12),coreservices_1=__webpack_require__(6),common_1=__webpack_require__(3),predicates_1=__webpack_require__(4),hof_1=__webpack_require__(5),transitionHook_1=__webpack_require__(13),hookRegistry_1=__webpack_require__(15),hookBuilder_1=__webpack_require__(16),node_1=__webpack_require__(21),pathFactory_1=__webpack_require__(20),targetState_1=__webpack_require__(14),param_1=__webpack_require__(22),resolvable_1=__webpack_require__(19),rejectFactory_1=__webpack_require__(10),resolveContext_1=__webpack_require__(17),router_1=__webpack_require__(26),transitionCount=0,stateSelf=hof_1.prop("self"),Transition=function(){function Transition(fromPath,targetState,router){var _this=this;if(this._deferred=coreservices_1.services.$q.defer(),this.promise=this._deferred.promise,this.treeChanges=function(){return _this._treeChanges},this.isActive=function(){return _this===_this._options.current()},this.router=router,!targetState.valid())throw new Error(targetState.error());hookRegistry_1.HookRegistry.mixin(new hookRegistry_1.HookRegistry,this),this._options=common_1.extend({current:hof_1.val(this)},targetState.options()),this.$id=transitionCount++;var toPath=pathFactory_1.PathFactory.buildToPath(fromPath,targetState);this._treeChanges=pathFactory_1.PathFactory.treeChanges(fromPath,toPath,this._options.reloadState);var enteringStates=this._treeChanges.entering.map(function(node){return node.state});pathFactory_1.PathFactory.applyViewConfigs(router.transitionService.$view,this._treeChanges.to,enteringStates);var rootResolvables=[new resolvable_1.Resolvable(router_1.UIRouter,function(){return router},[],(void 0),router),new resolvable_1.Resolvable(Transition,function(){return _this},[],(void 0),this),new resolvable_1.Resolvable("$transition$",function(){return _this},[],(void 0),this),new resolvable_1.Resolvable("$stateParams",function(){return _this.params()},[],(void 0),this.params())],rootNode=this._treeChanges.to[0],context=new resolveContext_1.ResolveContext(this._treeChanges.to);context.addResolvables(rootResolvables,rootNode.state)}return Transition.prototype.onBefore=function(matchCriteria,callback,options){throw""},Transition.prototype.onStart=function(matchCriteria,callback,options){throw""},Transition.prototype.onExit=function(matchCriteria,callback,options){throw""},Transition.prototype.onRetain=function(matchCriteria,callback,options){throw""},Transition.prototype.onEnter=function(matchCriteria,callback,options){throw""},Transition.prototype.onFinish=function(matchCriteria,callback,options){throw""},Transition.prototype.onSuccess=function(matchCriteria,callback,options){throw""},Transition.prototype.onError=function(matchCriteria,callback,options){throw""},Transition.prototype.$from=function(){return common_1.tail(this._treeChanges.from).state},Transition.prototype.$to=function(){return common_1.tail(this._treeChanges.to).state},Transition.prototype.from=function(){return this.$from().self},Transition.prototype.to=function(){return this.$to().self},Transition.prototype.is=function(compare){return compare instanceof Transition?this.is({to:compare.$to().name,from:compare.$from().name}):!(compare.to&&!hookRegistry_1.matchState(this.$to(),compare.to)||compare.from&&!hookRegistry_1.matchState(this.$from(),compare.from))},Transition.prototype.params=function(pathname){return void 0===pathname&&(pathname="to"),this._treeChanges[pathname].map(hof_1.prop("paramValues")).reduce(common_1.mergeR,{})},Transition.prototype.injector=function(state){var path=this.treeChanges().to;return state&&(path=pathFactory_1.PathFactory.subPath(path,function(node){return node.state===state||node.state.name===state})),new resolveContext_1.ResolveContext(path).injector()},Transition.prototype.getResolveTokens=function(){return new resolveContext_1.ResolveContext(this._treeChanges.to).getTokens()},Transition.prototype.getResolveValue=function(token){var resolveContext=new resolveContext_1.ResolveContext(this._treeChanges.to),getData=function(token){var resolvable=resolveContext.getResolvable(token);if(void 0===resolvable)throw new Error("Dependency Injection token not found: ${stringify(token)}");return resolvable.data};return predicates_1.isArray(token)?token.map(getData):getData(token)},Transition.prototype.addResolvable=function(resolvable,state){void 0===state&&(state="");var stateName="string"==typeof state?state:state.name,topath=this._treeChanges.to,targetNode=common_1.find(topath,function(node){return node.state.name===stateName}),resolveContext=new resolveContext_1.ResolveContext(topath);resolveContext.addResolvables([resolvable],targetNode.state)},Transition.prototype.previous=function(){return this._options.previous||null},Transition.prototype.options=function(){return this._options},Transition.prototype.entering=function(){return common_1.map(this._treeChanges.entering,hof_1.prop("state")).map(stateSelf)},Transition.prototype.exiting=function(){return common_1.map(this._treeChanges.exiting,hof_1.prop("state")).map(stateSelf).reverse()},Transition.prototype.retained=function(){return common_1.map(this._treeChanges.retained,hof_1.prop("state")).map(stateSelf)},Transition.prototype.views=function(pathname,state){void 0===pathname&&(pathname="entering");var path=this._treeChanges[pathname];return path=state?path.filter(hof_1.propEq("state",state)):path,path.map(hof_1.prop("views")).filter(common_1.identity).reduce(common_1.unnestR,[])},Transition.prototype.redirect=function(targetState){var newOptions=common_1.extend({},this.options(),targetState.options(),{previous:this});targetState=new targetState_1.TargetState(targetState.identifier(),targetState.$state(),targetState.params(),newOptions);var newTransition=this.router.transitionService.create(this._treeChanges.from,targetState),originalEnteringNodes=this.treeChanges().entering,redirectEnteringNodes=newTransition.treeChanges().entering,nodeIsReloading=function(reloadState){return function(node){return reloadState&&node.state.includes[reloadState.name]}},matchingEnteringNodes=node_1.PathNode.matching(redirectEnteringNodes,originalEnteringNodes).filter(hof_1.not(nodeIsReloading(targetState.options().reloadState)));return matchingEnteringNodes.forEach(function(node,idx){node.resolvables=originalEnteringNodes[idx].resolvables}),newTransition},Transition.prototype._changedParams=function(){var _a=this._treeChanges,to=_a.to,from=_a.from;if(!this._options.reload&&common_1.tail(to).state===common_1.tail(from).state){var nodeSchemas=to.map(function(node){return node.paramSchema}),_b=[to,from].map(function(path){return path.map(function(x){return x.paramValues})}),toValues=_b[0],fromValues=_b[1],tuples=common_1.arrayTuples(nodeSchemas,toValues,fromValues);return tuples.map(function(_a){var schema=_a[0],toVals=_a[1],fromVals=_a[2];return param_1.Param.changed(schema,toVals,fromVals)}).reduce(common_1.unnestR,[])}},Transition.prototype.dynamic=function(){var changes=this._changedParams();return!!changes&&changes.map(function(x){return x.dynamic}).reduce(common_1.anyTrueR,!1)},Transition.prototype.ignored=function(){var changes=this._changedParams();return!!changes&&0===changes.length},Transition.prototype.hookBuilder=function(){return new hookBuilder_1.HookBuilder(this.router.transitionService,this,{transition:this,current:this._options.current})},Transition.prototype.run=function(){var _this=this,runSynchronousHooks=transitionHook_1.TransitionHook.runSynchronousHooks,hookBuilder=this.hookBuilder(),globals=this.router.globals;globals.transitionHistory.enqueue(this);var syncResult=runSynchronousHooks(hookBuilder.getOnBeforeHooks());if(rejectFactory_1.Rejection.isTransitionRejectionPromise(syncResult)){syncResult["catch"](function(){return 0});var rejectReason=syncResult._transitionRejection;return this._deferred.reject(rejectReason),this.promise}if(!this.valid()){var error=new Error(this.error());return this._deferred.reject(error),this.promise}if(this.ignored())return trace_1.trace.traceTransitionIgnored(this),this._deferred.reject(rejectFactory_1.Rejection.ignored()),this.promise;var transitionSuccess=function(){trace_1.trace.traceSuccess(_this.$to(),_this),_this.success=!0,_this._deferred.resolve(_this.to()),runSynchronousHooks(hookBuilder.getOnSuccessHooks(),!0)},transitionError=function(error){trace_1.trace.traceError(error,_this),_this.success=!1,_this._deferred.reject(error),runSynchronousHooks(hookBuilder.getOnErrorHooks(),!0)};trace_1.trace.traceTransitionStart(this);var appendHookToChain=function(prev,nextHook){return prev.then(function(){return nextHook.invokeHook()})};return hookBuilder.asyncHooks().reduce(appendHookToChain,syncResult).then(transitionSuccess,transitionError),this.promise},Transition.prototype.valid=function(){return!this.error()},Transition.prototype.error=function(){var state=this.$to();return state.self[common_1.abstractKey]?"Cannot transition to abstract state '"+state.name+"'":param_1.Param.validates(state.parameters(),this.params())?void 0:"Param values not valid for state '"+state.name+"'"},Transition.prototype.toString=function(){var fromStateOrName=this.from(),toStateOrName=this.to(),avoidEmptyHash=function(params){return null!==params["#"]&&void 0!==params["#"]?params:common_1.omit(params,"#")},id=this.$id,from=predicates_1.isObject(fromStateOrName)?fromStateOrName.name:fromStateOrName,fromParams=common_1.toJson(avoidEmptyHash(this._treeChanges.from.map(hof_1.prop("paramValues")).reduce(common_1.mergeR,{}))),toValid=this.valid()?"":"(X) ",to=predicates_1.isObject(toStateOrName)?toStateOrName.name:toStateOrName,toParams=common_1.toJson(avoidEmptyHash(this.params()));return"Transition#"+id+"( '"+from+"'"+fromParams+" -> "+toValid+"'"+to+"'"+toParams+" )"},Transition.diToken=Transition,Transition}();exports.Transition=Transition},function(module,exports,__webpack_require__){"use strict";function uiViewString(viewData){return viewData?"[ui-view#"+viewData.id+" tag "+("in template from '"+(viewData.creationContext&&viewData.creationContext.name||"(root)")+"' state]: ")+("fqn: '"+viewData.fqn+"', ")+("name: '"+viewData.name+"@"+viewData.creationContext+"')"):"ui-view (defunct)"}function normalizedCat(input){return predicates_1.isNumber(input)?Category[input]:Category[Category[input]]}var hof_1=__webpack_require__(5),predicates_1=__webpack_require__(4),strings_1=__webpack_require__(9),viewConfigString=function(viewConfig){return"[ViewConfig#"+viewConfig.$id+" from '"+(viewConfig.viewDecl.$context.name||"(root)")+"' state]: target ui-view: '"+viewConfig.viewDecl.$uiViewName+"@"+viewConfig.viewDecl.$uiViewContextAnchor+"'"};!function(Category){Category[Category.RESOLVE=0]="RESOLVE",Category[Category.TRANSITION=1]="TRANSITION",Category[Category.HOOK=2]="HOOK",Category[Category.INVOKE=3]="INVOKE",Category[Category.UIVIEW=4]="UIVIEW",Category[Category.VIEWCONFIG=5]="VIEWCONFIG"}(exports.Category||(exports.Category={}));var Category=exports.Category,Trace=function(){function Trace(){this._enabled={},this.approximateDigests=0}return Trace.prototype._set=function(enabled,categories){var _this=this;categories.length||(categories=Object.keys(Category).filter(function(k){return isNaN(parseInt(k,10))}).map(function(key){return Category[key]})),categories.map(normalizedCat).forEach(function(category){return _this._enabled[category]=enabled})},Trace.prototype.enable=function(){for(var categories=[],_i=0;_i<arguments.length;_i++)categories[_i-0]=arguments[_i];this._set(!0,categories)},Trace.prototype.disable=function(){for(var categories=[],_i=0;_i<arguments.length;_i++)categories[_i-0]=arguments[_i];this._set(!1,categories)},Trace.prototype.enabled=function(category){return!!this._enabled[normalizedCat(category)]},Trace.prototype.traceTransitionStart=function(transition){if(this.enabled(Category.TRANSITION)){var tid=transition.$id,digest=this.approximateDigests,transitionStr=strings_1.stringify(transition);console.log("Transition #"+tid+" Digest #"+digest+": Started  -> "+transitionStr)}},Trace.prototype.traceTransitionIgnored=function(trans){if(this.enabled(Category.TRANSITION)){var tid=trans&&trans.$id,digest=this.approximateDigests,transitionStr=strings_1.stringify(trans);console.log("Transition #"+tid+" Digest #"+digest+": Ignored  <> "+transitionStr)}},Trace.prototype.traceHookInvocation=function(step,options){if(this.enabled(Category.HOOK)){var tid=hof_1.parse("transition.$id")(options),digest=this.approximateDigests,event=hof_1.parse("traceData.hookType")(options)||"internal",context=hof_1.parse("traceData.context.state.name")(options)||hof_1.parse("traceData.context")(options)||"unknown",name=strings_1.functionToString(step.fn);console.log("Transition #"+tid+" Digest #"+digest+":   Hook -> "+event+" context: "+context+", "+strings_1.maxLength(200,name))}},Trace.prototype.traceHookResult=function(hookResult,transitionResult,transitionOptions){if(this.enabled(Category.HOOK)){var tid=hof_1.parse("transition.$id")(transitionOptions),digest=this.approximateDigests,hookResultStr=strings_1.stringify(hookResult),transitionResultStr=strings_1.stringify(transitionResult);console.log("Transition #"+tid+" Digest #"+digest+":   <- Hook returned: "+strings_1.maxLength(200,hookResultStr)+", transition result: "+strings_1.maxLength(200,transitionResultStr))}},Trace.prototype.traceResolvePath=function(path,when,trans){if(this.enabled(Category.RESOLVE)){var tid=trans&&trans.$id,digest=this.approximateDigests,pathStr=path&&path.toString();console.log("Transition #"+tid+" Digest #"+digest+":         Resolving "+pathStr+" ("+when+")");
+}},Trace.prototype.traceResolvableResolved=function(resolvable,trans){if(this.enabled(Category.RESOLVE)){var tid=trans&&trans.$id,digest=this.approximateDigests,resolvableStr=resolvable&&resolvable.toString(),result=strings_1.stringify(resolvable.data);console.log("Transition #"+tid+" Digest #"+digest+":               <- Resolved  "+resolvableStr+" to: "+strings_1.maxLength(200,result))}},Trace.prototype.traceError=function(error,trans){if(this.enabled(Category.TRANSITION)){var tid=trans&&trans.$id,digest=this.approximateDigests,transitionStr=strings_1.stringify(trans);console.log("Transition #"+tid+" Digest #"+digest+": <- Rejected "+transitionStr+", reason: "+error)}},Trace.prototype.traceSuccess=function(finalState,trans){if(this.enabled(Category.TRANSITION)){var tid=trans&&trans.$id,digest=this.approximateDigests,state=finalState.name,transitionStr=strings_1.stringify(trans);console.log("Transition #"+tid+" Digest #"+digest+": <- Success  "+transitionStr+", final state: "+state)}},Trace.prototype.traceUIViewEvent=function(event,viewData,extra){void 0===extra&&(extra=""),this.enabled(Category.UIVIEW)&&console.log("ui-view: "+strings_1.padString(30,event)+" "+uiViewString(viewData)+extra)},Trace.prototype.traceUIViewConfigUpdated=function(viewData,context){this.enabled(Category.UIVIEW)&&this.traceUIViewEvent("Updating",viewData," with ViewConfig from context='"+context+"'")},Trace.prototype.traceUIViewScopeCreated=function(viewData,newScope){this.enabled(Category.UIVIEW)&&this.traceUIViewEvent("Created scope for",viewData,", scope #"+newScope.$id)},Trace.prototype.traceUIViewFill=function(viewData,html){this.enabled(Category.UIVIEW)&&this.traceUIViewEvent("Fill",viewData," with: "+strings_1.maxLength(200,html))},Trace.prototype.traceViewServiceEvent=function(event,viewConfig){this.enabled(Category.VIEWCONFIG)&&console.log("VIEWCONFIG: "+event+" "+viewConfigString(viewConfig))},Trace.prototype.traceViewServiceUIViewEvent=function(event,viewData){this.enabled(Category.VIEWCONFIG)&&console.log("VIEWCONFIG: "+event+" "+uiViewString(viewData))},Trace}();exports.Trace=Trace;var trace=new Trace;exports.trace=trace},function(module,exports,__webpack_require__){"use strict";var common_1=__webpack_require__(3),strings_1=__webpack_require__(9),predicates_1=__webpack_require__(4),hof_1=__webpack_require__(5),trace_1=__webpack_require__(12),coreservices_1=__webpack_require__(6),rejectFactory_1=__webpack_require__(10),targetState_1=__webpack_require__(14),defaultOptions={async:!0,rejectIfSuperseded:!0,current:common_1.noop,transition:null,traceData:{},bind:null},TransitionHook=function(){function TransitionHook(transition,stateContext,hookFn,resolveContext,options){var _this=this;this.transition=transition,this.stateContext=stateContext,this.hookFn=hookFn,this.resolveContext=resolveContext,this.options=options,this.isSuperseded=function(){return _this.options.current()!==_this.options.transition},this.options=common_1.defaults(options,defaultOptions)}return TransitionHook.prototype.invokeHook=function(){var _a=this,options=_a.options,hookFn=_a.hookFn;_a.resolveContext;if(trace_1.trace.traceHookInvocation(this,options),options.rejectIfSuperseded&&this.isSuperseded())return rejectFactory_1.Rejection.superseded(options.current()).toPromise();var hookResult=hookFn.call(options.bind,this.transition,this.stateContext);return this.handleHookResult(hookResult)},TransitionHook.prototype.handleHookResult=function(hookResult){var _this=this;if(predicates_1.isDefined(hookResult)){var mapHookResult=hof_1.pattern([[this.isSuperseded,function(){return rejectFactory_1.Rejection.superseded(_this.options.current()).toPromise()}],[hof_1.eq(!1),function(){return rejectFactory_1.Rejection.aborted("Hook aborted transition").toPromise()}],[hof_1.is(targetState_1.TargetState),function(target){return rejectFactory_1.Rejection.redirected(target).toPromise()}],[predicates_1.isPromise,function(promise){return promise.then(_this.handleHookResult.bind(_this))}]]),transitionResult=mapHookResult(hookResult);return transitionResult&&trace_1.trace.traceHookResult(hookResult,transitionResult,this.options),transitionResult}},TransitionHook.prototype.toString=function(){var _a=this,options=_a.options,hookFn=_a.hookFn,event=hof_1.parse("traceData.hookType")(options)||"internal",context=hof_1.parse("traceData.context.state.name")(options)||hof_1.parse("traceData.context")(options)||"unknown",name=strings_1.fnToString(hookFn);return event+" context: "+context+", "+strings_1.maxLength(200,name)},TransitionHook.runSynchronousHooks=function(hooks,swallowExceptions){void 0===swallowExceptions&&(swallowExceptions=!1);for(var results=[],i=0;i<hooks.length;i++)try{results.push(hooks[i].invokeHook())}catch(exception){if(!swallowExceptions)return rejectFactory_1.Rejection.errored(exception).toPromise();console.error("Swallowed exception during synchronous hook handler: "+exception)}var rejections=results.filter(rejectFactory_1.Rejection.isTransitionRejectionPromise);return rejections.length?rejections[0]:results.filter(predicates_1.isPromise).reduce(function(chain,promise){return chain.then(hof_1.val(promise))},coreservices_1.services.$q.when())},TransitionHook}();exports.TransitionHook=TransitionHook},function(module,exports){"use strict";var TargetState=function(){function TargetState(_identifier,_definition,_params,_options){void 0===_params&&(_params={}),void 0===_options&&(_options={}),this._identifier=_identifier,this._definition=_definition,this._options=_options,this._params=_params||{}}return TargetState.prototype.name=function(){return this._definition&&this._definition.name||this._identifier},TargetState.prototype.identifier=function(){return this._identifier},TargetState.prototype.params=function(){return this._params},TargetState.prototype.$state=function(){return this._definition},TargetState.prototype.state=function(){return this._definition&&this._definition.self},TargetState.prototype.options=function(){return this._options},TargetState.prototype.exists=function(){return!(!this._definition||!this._definition.self)},TargetState.prototype.valid=function(){return!this.error()},TargetState.prototype.error=function(){var base=this.options().relative;if(!this._definition&&base){var stateName=base.name?base.name:base;return"Could not resolve '"+this.name()+"' from state '"+stateName+"'"}return this._definition?this._definition.self?void 0:"State '"+this.name()+"' has an invalid definition":"No such state '"+this.name()+"'"},TargetState}();exports.TargetState=TargetState},function(module,exports,__webpack_require__){"use strict";function matchState(state,criterion){function matchGlobs(_state){for(var globStrings=toMatch,i=0;i<globStrings.length;i++){var glob=glob_1.Glob.fromString(globStrings[i]);if(glob&&glob.matches(_state.name)||!glob&&globStrings[i]===_state.name)return!0}return!1}var toMatch=predicates_1.isString(criterion)?[criterion]:criterion,matchFn=predicates_1.isFunction(toMatch)?toMatch:matchGlobs;return!!matchFn(state)}function makeHookRegistrationFn(hooks,name){return function(matchObject,callback,options){void 0===options&&(options={});var eventHook=new EventHook(matchObject,callback,options);return hooks[name].push(eventHook),function(){common_1.removeFrom(hooks[name])(eventHook)}}}var common_1=__webpack_require__(3),predicates_1=__webpack_require__(4),glob_1=__webpack_require__(7);exports.matchState=matchState;var EventHook=function(){function EventHook(matchCriteria,callback,options){void 0===options&&(options={}),this.callback=callback,this.matchCriteria=common_1.extend({to:!0,from:!0,exiting:!0,retained:!0,entering:!0},matchCriteria),this.priority=options.priority||0,this.bind=options.bind||null}return EventHook._matchingNodes=function(nodes,criterion){if(criterion===!0)return nodes;var matching=nodes.filter(function(node){return matchState(node.state,criterion)});return matching.length?matching:null},EventHook.prototype.matches=function(treeChanges){var mc=this.matchCriteria,_matchingNodes=EventHook._matchingNodes,matches={to:_matchingNodes([common_1.tail(treeChanges.to)],mc.to),from:_matchingNodes([common_1.tail(treeChanges.from)],mc.from),exiting:_matchingNodes(treeChanges.exiting,mc.exiting),retained:_matchingNodes(treeChanges.retained,mc.retained),entering:_matchingNodes(treeChanges.entering,mc.entering)},allMatched=["to","from","exiting","retained","entering"].map(function(prop){return matches[prop]}).reduce(common_1.allTrueR,!0);return allMatched?matches:null},EventHook}();exports.EventHook=EventHook;var HookRegistry=function(){function HookRegistry(){var _this=this;this._transitionEvents={onBefore:[],onStart:[],onEnter:[],onRetain:[],onExit:[],onFinish:[],onSuccess:[],onError:[]},this.getHooks=function(name){return _this._transitionEvents[name]},this.onBefore=makeHookRegistrationFn(this._transitionEvents,"onBefore"),this.onStart=makeHookRegistrationFn(this._transitionEvents,"onStart"),this.onEnter=makeHookRegistrationFn(this._transitionEvents,"onEnter"),this.onRetain=makeHookRegistrationFn(this._transitionEvents,"onRetain"),this.onExit=makeHookRegistrationFn(this._transitionEvents,"onExit"),this.onFinish=makeHookRegistrationFn(this._transitionEvents,"onFinish"),this.onSuccess=makeHookRegistrationFn(this._transitionEvents,"onSuccess"),this.onError=makeHookRegistrationFn(this._transitionEvents,"onError")}return HookRegistry.mixin=function(source,target){Object.keys(source._transitionEvents).concat(["getHooks"]).forEach(function(key){return target[key]=source[key]})},HookRegistry}();exports.HookRegistry=HookRegistry},function(module,exports,__webpack_require__){"use strict";function tupleSort(reverseDepthSort){return void 0===reverseDepthSort&&(reverseDepthSort=!1),function(l,r){var factor=reverseDepthSort?-1:1,depthDelta=(l.node.state.path.length-r.node.state.path.length)*factor;return 0!==depthDelta?depthDelta:r.hook.priority-l.hook.priority}}var common_1=__webpack_require__(3),predicates_1=__webpack_require__(4),transitionHook_1=__webpack_require__(13),resolveContext_1=__webpack_require__(17),HookBuilder=function(){function HookBuilder($transitions,transition,baseHookOptions){var _this=this;this.$transitions=$transitions,this.transition=transition,this.baseHookOptions=baseHookOptions,this.getOnBeforeHooks=function(){return _this._buildNodeHooks("onBefore","to",tupleSort(),{async:!1})},this.getOnStartHooks=function(){return _this._buildNodeHooks("onStart","to",tupleSort())},this.getOnExitHooks=function(){return _this._buildNodeHooks("onExit","exiting",tupleSort(!0),{stateHook:!0})},this.getOnRetainHooks=function(){return _this._buildNodeHooks("onRetain","retained",tupleSort(!1),{stateHook:!0})},this.getOnEnterHooks=function(){return _this._buildNodeHooks("onEnter","entering",tupleSort(!1),{stateHook:!0})},this.getOnFinishHooks=function(){return _this._buildNodeHooks("onFinish","to",tupleSort())},this.getOnSuccessHooks=function(){return _this._buildNodeHooks("onSuccess","to",tupleSort(),{async:!1,rejectIfSuperseded:!1})},this.getOnErrorHooks=function(){return _this._buildNodeHooks("onError","to",tupleSort(),{async:!1,rejectIfSuperseded:!1})},this.treeChanges=transition.treeChanges(),this.toState=common_1.tail(this.treeChanges.to).state,this.fromState=common_1.tail(this.treeChanges.from).state,this.transitionOptions=transition.options()}return HookBuilder.prototype.asyncHooks=function(){var onStartHooks=this.getOnStartHooks(),onExitHooks=this.getOnExitHooks(),onRetainHooks=this.getOnRetainHooks(),onEnterHooks=this.getOnEnterHooks(),onFinishHooks=this.getOnFinishHooks(),asyncHooks=[onStartHooks,onExitHooks,onRetainHooks,onEnterHooks,onFinishHooks];return asyncHooks.reduce(common_1.unnestR,[]).filter(common_1.identity)},HookBuilder.prototype._buildNodeHooks=function(hookType,matchingNodesProp,sortHooksFn,options){var _this=this,matchingHooks=this._matchingHooks(hookType,this.treeChanges);if(!matchingHooks)return[];var makeTransitionHooks=function(hook){var matches=hook.matches(_this.treeChanges),matchingNodes=matches[matchingNodesProp],resolvePath="exiting"===matchingNodesProp?_this.treeChanges.from:_this.treeChanges.to,resolveContext=new resolveContext_1.ResolveContext(resolvePath);return matchingNodes.map(function(node){var _options=common_1.extend({bind:hook.bind,traceData:{hookType:hookType,context:node}},_this.baseHookOptions,options),state=_options.stateHook?node.state:null,context=resolveContext.subContext(node.state),transitionHook=new transitionHook_1.TransitionHook(_this.transition,state,hook.callback,context,_options);return{hook:hook,node:node,transitionHook:transitionHook}})};return matchingHooks.map(makeTransitionHooks).reduce(common_1.unnestR,[]).sort(sortHooksFn).map(function(tuple){return tuple.transitionHook})},HookBuilder.prototype._matchingHooks=function(hookName,treeChanges){return[this.transition,this.$transitions].map(function(reg){return reg.getHooks(hookName)}).filter(common_1.assertPredicate(predicates_1.isArray,"broken event named: "+hookName)).reduce(common_1.unnestR,[]).filter(function(hook){return hook.matches(treeChanges)})},HookBuilder}();exports.HookBuilder=HookBuilder},function(module,exports,__webpack_require__){"use strict";var common_1=__webpack_require__(3),hof_1=__webpack_require__(5),trace_1=__webpack_require__(12),coreservices_1=__webpack_require__(6),interface_1=__webpack_require__(18),resolvable_1=__webpack_require__(19),pathFactory_1=__webpack_require__(20),strings_1=__webpack_require__(9),when=interface_1.resolvePolicies.when,ALL_WHENS=[when.EAGER,when.LAZY],EAGER_WHENS=[when.EAGER],ResolveContext=function(){function ResolveContext(_path){this._path=_path}return ResolveContext.prototype.getTokens=function(){return this._path.reduce(function(acc,node){return acc.concat(node.resolvables.map(function(r){return r.token}))},[]).reduce(common_1.uniqR,[])},ResolveContext.prototype.getResolvable=function(token){var matching=this._path.map(function(node){return node.resolvables}).reduce(common_1.unnestR,[]).filter(function(r){return r.token===token});return common_1.tail(matching)},ResolveContext.prototype.subContext=function(state){return new ResolveContext(pathFactory_1.PathFactory.subPath(this._path,function(node){return node.state===state}))},ResolveContext.prototype.addResolvables=function(newResolvables,state){var node=common_1.find(this._path,hof_1.propEq("state",state)),keys=newResolvables.map(function(r){return r.token});node.resolvables=node.resolvables.filter(function(r){return keys.indexOf(r.token)===-1}).concat(newResolvables)},ResolveContext.prototype.resolvePath=function(when,trans){var _this=this;void 0===when&&(when="LAZY");var whenOption=common_1.inArray(ALL_WHENS,when)?when:"LAZY",matchedWhens=whenOption===interface_1.resolvePolicies.when.EAGER?EAGER_WHENS:ALL_WHENS;trace_1.trace.traceResolvePath(this._path,when,trans);var promises=this._path.reduce(function(acc,node){var matchesRequestedPolicy=function(resolvable){return common_1.inArray(matchedWhens,resolvable.getPolicy(node.state).when)},nodeResolvables=node.resolvables.filter(matchesRequestedPolicy),subContext=_this.subContext(node.state),getResult=function(r){return r.get(subContext,trans).then(function(value){return{token:r.token,value:value}})};return acc.concat(nodeResolvables.map(getResult))},[]);return coreservices_1.services.$q.all(promises)},ResolveContext.prototype.injector=function(){return new UIInjectorImpl(this)},ResolveContext.prototype.findNode=function(resolvable){return common_1.find(this._path,function(node){return common_1.inArray(node.resolvables,resolvable)})},ResolveContext.prototype.getDependencies=function(resolvable){var node=this.findNode(resolvable),subPath=pathFactory_1.PathFactory.subPath(this._path,function(x){return x===node})||this._path,availableResolvables=subPath.reduce(function(acc,node){return acc.concat(node.resolvables)},[]).filter(function(res){return res!==resolvable}),getDependency=function(token){var matching=availableResolvables.filter(function(r){return r.token===token});if(matching.length)return common_1.tail(matching);var fromInjector=coreservices_1.services.$injector.get(token);if(!fromInjector)throw new Error("Could not find Dependency Injection token: "+strings_1.stringify(token));return new resolvable_1.Resolvable(token,function(){return fromInjector},[],fromInjector)};return resolvable.deps.map(getDependency)},ResolveContext}();exports.ResolveContext=ResolveContext;var UIInjectorImpl=function(){function UIInjectorImpl(context){this.context=context,this["native"]=coreservices_1.services.$injector}return UIInjectorImpl.prototype.get=function(token){var resolvable=this.context.getResolvable(token);if(resolvable){if(!resolvable.resolved)throw new Error("Resolvable async .get() not complete:"+strings_1.stringify(resolvable.token));return resolvable.data}return coreservices_1.services.$injector.get(token)},UIInjectorImpl.prototype.getAsync=function(token){var resolvable=this.context.getResolvable(token);return resolvable?resolvable.get(this.context):coreservices_1.services.$q.when(coreservices_1.services.$injector.get(token))},UIInjectorImpl}()},function(module,exports){"use strict";exports.resolvePolicies={when:{LAZY:"LAZY",EAGER:"EAGER"},async:{WAIT:"WAIT",NOWAIT:"NOWAIT",RXWAIT:"RXWAIT"}}},function(module,exports,__webpack_require__){"use strict";var common_1=__webpack_require__(3),coreservices_1=__webpack_require__(6),trace_1=__webpack_require__(12),strings_1=__webpack_require__(9),predicates_1=__webpack_require__(4);exports.defaultResolvePolicy={when:"LAZY",async:"WAIT"};var Resolvable=function(){function Resolvable(arg1,resolveFn,deps,policy,data){if(this.resolved=!1,this.promise=void 0,arg1 instanceof Resolvable)common_1.extend(this,arg1);else if(predicates_1.isFunction(resolveFn)){if(null==arg1||void 0==arg1)throw new Error("new Resolvable(): token argument is required");if(!predicates_1.isFunction(resolveFn))throw new Error("new Resolvable(): resolveFn argument must be a function");this.token=arg1,this.policy=policy,this.resolveFn=resolveFn,this.deps=deps||[],this.data=data,this.resolved=void 0!==data,this.promise=this.resolved?coreservices_1.services.$q.when(this.data):void 0}else if(predicates_1.isObject(arg1)&&arg1.token&&predicates_1.isFunction(arg1.resolveFn)){var literal=arg1;return new Resolvable(literal.token,literal.resolveFn,literal.deps,literal.policy,literal.data)}}return Resolvable.prototype.getPolicy=function(state){var thisPolicy=this.policy||{},statePolicy=state&&state.resolvePolicy||{};return{when:thisPolicy.when||statePolicy.when||exports.defaultResolvePolicy.when,async:thisPolicy.async||statePolicy.async||exports.defaultResolvePolicy.async}},Resolvable.prototype.resolve=function(resolveContext,trans){var _this=this,$q=coreservices_1.services.$q,getResolvableDependencies=function(){return $q.all(resolveContext.getDependencies(_this).map(function(r){return r.get(resolveContext,trans)}))},invokeResolveFn=function(resolvedDeps){return _this.resolveFn.apply(null,resolvedDeps)},waitForRx=function(observable$){var cached=observable$.cache();return cached.toPromise().then(function(){return cached})},node=resolveContext.findNode(this),state=node&&node.state,maybeWaitForRx="RXWAIT"===this.getPolicy(state).async?waitForRx:function(x){return x},applyResolvedValue=function(resolvedValue){return _this.data=resolvedValue,_this.resolved=!0,trace_1.trace.traceResolvableResolved(_this,trans),_this.data};return this.promise=$q.when().then(getResolvableDependencies).then(invokeResolveFn).then(maybeWaitForRx).then(applyResolvedValue)},Resolvable.prototype.get=function(resolveContext,trans){return this.promise||this.resolve(resolveContext,trans)},Resolvable.prototype.toString=function(){return"Resolvable(token: "+strings_1.stringify(this.token)+", requires: ["+this.deps.map(strings_1.stringify)+"])"},Resolvable.prototype.clone=function(){return new Resolvable(this)},Resolvable}();exports.Resolvable=Resolvable},function(module,exports,__webpack_require__){"use strict";var common_1=__webpack_require__(3),hof_1=__webpack_require__(5),targetState_1=__webpack_require__(14),node_1=__webpack_require__(21),PathFactory=function(){function PathFactory(){}return PathFactory.makeTargetState=function(path){var state=common_1.tail(path).state;return new targetState_1.TargetState(state,state,path.map(hof_1.prop("paramValues")).reduce(common_1.mergeR,{}))},PathFactory.buildPath=function(targetState){var toParams=targetState.params();return targetState.$state().path.map(function(state){return new node_1.PathNode(state).applyRawParams(toParams)})},PathFactory.buildToPath=function(fromPath,targetState){var toPath=PathFactory.buildPath(targetState);return targetState.options().inherit?PathFactory.inheritParams(fromPath,toPath,Object.keys(targetState.params())):toPath},PathFactory.applyViewConfigs=function($view,path,states){path.filter(function(node){return common_1.inArray(states,node.state)}).forEach(function(node){var viewDecls=common_1.values(node.state.views||{}),subPath=PathFactory.subPath(path,function(n){return n===node}),viewConfigs=viewDecls.map(function(view){return $view.createViewConfig(subPath,view)});node.views=viewConfigs.reduce(common_1.unnestR,[])})},PathFactory.inheritParams=function(fromPath,toPath,toKeys){function nodeParamVals(path,state){var node=common_1.find(path,hof_1.propEq("state",state));return common_1.extend({},node&&node.paramValues)}function makeInheritedParamsNode(toNode){var toParamVals=common_1.extend({},toNode&&toNode.paramValues),incomingParamVals=common_1.pick(toParamVals,toKeys);toParamVals=common_1.omit(toParamVals,toKeys);var fromParamVals=nodeParamVals(fromPath,toNode.state)||{},ownParamVals=common_1.extend(toParamVals,fromParamVals,incomingParamVals);return new node_1.PathNode(toNode.state).applyRawParams(ownParamVals)}return void 0===toKeys&&(toKeys=[]),toPath.map(makeInheritedParamsNode)},PathFactory.treeChanges=function(fromPath,toPath,reloadState){function applyToParams(retainedNode,idx){var cloned=node_1.PathNode.clone(retainedNode);return cloned.paramValues=toPath[idx].paramValues,cloned}for(var keep=0,max=Math.min(fromPath.length,toPath.length),staticParams=function(state){return state.parameters({inherit:!1}).filter(hof_1.not(hof_1.prop("dynamic"))).map(hof_1.prop("id"))},nodesMatch=function(node1,node2){return node1.equals(node2,staticParams(node1.state))};keep<max&&fromPath[keep].state!==reloadState&&nodesMatch(fromPath[keep],toPath[keep]);)keep++;var from,retained,exiting,entering,to;from=fromPath,retained=from.slice(0,keep),exiting=from.slice(keep);var retainedWithToParams=retained.map(applyToParams);return entering=toPath.slice(keep),to=retainedWithToParams.concat(entering),{from:from,to:to,retained:retained,exiting:exiting,entering:entering}},PathFactory.subPath=function(path,predicate){var node=common_1.find(path,predicate),elementIdx=path.indexOf(node);return elementIdx===-1?void 0:path.slice(0,elementIdx+1)},PathFactory.paramValues=function(path){return path.reduce(function(acc,node){return common_1.extend(acc,node.paramValues)},{})},PathFactory}();exports.PathFactory=PathFactory},function(module,exports,__webpack_require__){"use strict";var common_1=__webpack_require__(3),hof_1=__webpack_require__(5),param_1=__webpack_require__(22),PathNode=function(){function PathNode(state){if(state instanceof PathNode){var node=state;this.state=node.state,this.paramSchema=node.paramSchema.slice(),this.paramValues=common_1.extend({},node.paramValues),this.resolvables=node.resolvables.slice(),this.views=node.views&&node.views.slice()}else this.state=state,this.paramSchema=state.parameters({inherit:!1}),this.paramValues={},this.resolvables=state.resolvables.map(function(res){return res.clone()})}return PathNode.prototype.applyRawParams=function(params){var getParamVal=function(paramDef){return[paramDef.id,paramDef.value(params[paramDef.id])]};return this.paramValues=this.paramSchema.reduce(function(memo,pDef){return common_1.applyPairs(memo,getParamVal(pDef))},{}),this},PathNode.prototype.parameter=function(name){return common_1.find(this.paramSchema,hof_1.propEq("id",name))},PathNode.prototype.equals=function(node,keys){var _this=this;void 0===keys&&(keys=this.paramSchema.map(hof_1.prop("id")));var paramValsEq=function(key){return _this.parameter(key).type.equals(_this.paramValues[key],node.paramValues[key])};return this.state===node.state&&keys.map(paramValsEq).reduce(common_1.allTrueR,!0)},PathNode.clone=function(node){return new PathNode(node)},PathNode.matching=function(pathA,pathB){for(var matching=[],i=0;i<pathA.length&&i<pathB.length;i++){var a=pathA[i],b=pathB[i];if(a.state!==b.state)break;if(!param_1.Param.equals(a.paramSchema,a.paramValues,b.paramValues))break;matching.push(a)}return matching},PathNode}();exports.PathNode=PathNode},function(module,exports,__webpack_require__){"use strict";function unwrapShorthand(cfg){return cfg=isShorthand(cfg)&&{value:cfg}||cfg,common_1.extend(cfg,{$$fn:predicates_1.isInjectable(cfg.value)?cfg.value:function(){return cfg.value}})}function getType(cfg,urlType,location,id){if(cfg.type&&urlType&&"string"!==urlType.name)throw new Error("Param '"+id+"' has two type configurations.");return cfg.type&&urlType&&"string"===urlType.name&&paramTypes_1.paramTypes.type(cfg.type)?paramTypes_1.paramTypes.type(cfg.type):urlType?urlType:cfg.type?cfg.type instanceof type_1.ParamType?cfg.type:paramTypes_1.paramTypes.type(cfg.type):location===DefType.CONFIG?paramTypes_1.paramTypes.type("any"):paramTypes_1.paramTypes.type("string")}function getSquashPolicy(config,isOptional){var squash=config.squash;if(!isOptional||squash===!1)return!1;if(!predicates_1.isDefined(squash)||null==squash)return urlMatcherConfig_1.matcherConfig.defaultSquashPolicy();if(squash===!0||predicates_1.isString(squash))return squash;throw new Error("Invalid squash policy: '"+squash+"'. Valid policies: false, true, or arbitrary string")}function getReplace(config,arrayMode,isOptional,squash){var replace,configuredKeys,defaultPolicy=[{from:"",to:isOptional||arrayMode?void 0:""},{from:null,to:isOptional||arrayMode?void 0:""}];return replace=predicates_1.isArray(config.replace)?config.replace:[],predicates_1.isString(squash)&&replace.push({from:squash,to:void 0}),configuredKeys=common_1.map(replace,hof_1.prop("from")),common_1.filter(defaultPolicy,function(item){return configuredKeys.indexOf(item.from)===-1}).concat(replace)}var common_1=__webpack_require__(3),hof_1=__webpack_require__(5),predicates_1=__webpack_require__(4),coreservices_1=__webpack_require__(6),urlMatcherConfig_1=__webpack_require__(23),type_1=__webpack_require__(24),paramTypes_1=__webpack_require__(25),hasOwn=Object.prototype.hasOwnProperty,isShorthand=function(cfg){return 0===["value","type","squash","array","dynamic"].filter(hasOwn.bind(cfg||{})).length};!function(DefType){DefType[DefType.PATH=0]="PATH",DefType[DefType.SEARCH=1]="SEARCH",DefType[DefType.CONFIG=2]="CONFIG"}(exports.DefType||(exports.DefType={}));var DefType=exports.DefType,Param=function(){function Param(id,type,config,location){function getArrayMode(){var arrayDefaults={array:location===DefType.SEARCH&&"auto"},arrayParamNomenclature=id.match(/\[\]$/)?{array:!0}:{};return common_1.extend(arrayDefaults,arrayParamNomenclature,config).array}config=unwrapShorthand(config),type=getType(config,type,location,id);var arrayMode=getArrayMode();type=arrayMode?type.$asArray(arrayMode,location===DefType.SEARCH):type;var isOptional=void 0!==config.value,dynamic=predicates_1.isDefined(config.dynamic)?!!config.dynamic:!!type.dynamic,squash=getSquashPolicy(config,isOptional),replace=getReplace(config,arrayMode,isOptional,squash);common_1.extend(this,{id:id,type:type,location:location,squash:squash,replace:replace,isOptional:isOptional,dynamic:dynamic,config:config,array:arrayMode})}return Param.prototype.isDefaultValue=function(value){return this.isOptional&&this.type.equals(this.value(),value)},Param.prototype.value=function(value){var _this=this,$$getDefaultValue=function(){if(!coreservices_1.services.$injector)throw new Error("Injectable functions cannot be called at configuration time");var defaultValue=coreservices_1.services.$injector.invoke(_this.config.$$fn);if(null!==defaultValue&&void 0!==defaultValue&&!_this.type.is(defaultValue))throw new Error("Default value ("+defaultValue+") for parameter '"+_this.id+"' is not an instance of ParamType ("+_this.type.name+")");return defaultValue},$replace=function(val){var replacement=common_1.map(common_1.filter(_this.replace,hof_1.propEq("from",val)),hof_1.prop("to"));return replacement.length?replacement[0]:val};return value=$replace(value),predicates_1.isDefined(value)?this.type.$normalize(value):$$getDefaultValue()},Param.prototype.isSearch=function(){return this.location===DefType.SEARCH},Param.prototype.validates=function(value){if((!predicates_1.isDefined(value)||null===value)&&this.isOptional)return!0;var normalized=this.type.$normalize(value);if(!this.type.is(normalized))return!1;var encoded=this.type.encode(normalized);return!(predicates_1.isString(encoded)&&!this.type.pattern.exec(encoded))},Param.prototype.toString=function(){return"{Param:"+this.id+" "+this.type+" squash: '"+this.squash+"' optional: "+this.isOptional+"}"},Param.fromConfig=function(id,type,config){return new Param(id,type,config,DefType.CONFIG)},Param.fromPath=function(id,type,config){return new Param(id,type,config,DefType.PATH)},Param.fromSearch=function(id,type,config){return new Param(id,type,config,DefType.SEARCH)},Param.values=function(params,values){return void 0===values&&(values={}),params.map(function(param){return[param.id,param.value(values[param.id])]}).reduce(common_1.applyPairs,{})},Param.changed=function(params,values1,values2){return void 0===values1&&(values1={}),void 0===values2&&(values2={}),params.filter(function(param){return!param.type.equals(values1[param.id],values2[param.id])})},Param.equals=function(params,values1,values2){return void 0===values1&&(values1={}),void 0===values2&&(values2={}),0===Param.changed(params,values1,values2).length},Param.validates=function(params,values){return void 0===values&&(values={}),params.map(function(param){return param.validates(values[param.id])}).reduce(common_1.allTrueR,!0)},Param}();exports.Param=Param},function(module,exports,__webpack_require__){"use strict";var predicates_1=__webpack_require__(4),MatcherConfig=function(){function MatcherConfig(){this._isCaseInsensitive=!1,this._isStrictMode=!0,this._defaultSquashPolicy=!1}return MatcherConfig.prototype.caseInsensitive=function(value){return this._isCaseInsensitive=predicates_1.isDefined(value)?value:this._isCaseInsensitive},MatcherConfig.prototype.strictMode=function(value){return this._isStrictMode=predicates_1.isDefined(value)?value:this._isStrictMode},MatcherConfig.prototype.defaultSquashPolicy=function(value){if(predicates_1.isDefined(value)&&value!==!0&&value!==!1&&!predicates_1.isString(value))throw new Error("Invalid squash policy: "+value+". Valid policies: false, true, arbitrary-string");return this._defaultSquashPolicy=predicates_1.isDefined(value)?value:this._defaultSquashPolicy},MatcherConfig}();exports.MatcherConfig=MatcherConfig,exports.matcherConfig=new MatcherConfig},function(module,exports,__webpack_require__){"use strict";function ArrayType(type,mode){function arrayWrap(val){return predicates_1.isArray(val)?val:predicates_1.isDefined(val)?[val]:[]}function arrayUnwrap(val){switch(val.length){case 0:return;case 1:return"auto"===mode?val[0]:val;default:return val}}function arrayHandler(callback,allTruthyMode){return function(val){if(predicates_1.isArray(val)&&0===val.length)return val;var arr=arrayWrap(val),result=common_1.map(arr,callback);return allTruthyMode===!0?0===common_1.filter(result,function(x){return!x}).length:arrayUnwrap(result)}}function arrayEqualsHandler(callback){return function(val1,val2){var left=arrayWrap(val1),right=arrayWrap(val2);if(left.length!==right.length)return!1;for(var i=0;i<left.length;i++)if(!callback(left[i],right[i]))return!1;
+return!0}}var _this=this;["encode","decode","equals","$normalize"].map(function(name){_this[name]=("equals"===name?arrayEqualsHandler:arrayHandler)(type[name].bind(type))}),common_1.extend(this,{dynamic:type.dynamic,name:type.name,pattern:type.pattern,is:arrayHandler(type.is.bind(type),!0),$arrayMode:mode})}var common_1=__webpack_require__(3),predicates_1=__webpack_require__(4),ParamType=function(){function ParamType(def){this.pattern=/.*/,common_1.extend(this,def)}return ParamType.prototype.is=function(val,key){return!0},ParamType.prototype.encode=function(val,key){return val},ParamType.prototype.decode=function(val,key){return val},ParamType.prototype.equals=function(a,b){return a==b},ParamType.prototype.$subPattern=function(){var sub=this.pattern.toString();return sub.substr(1,sub.length-2)},ParamType.prototype.toString=function(){return"{ParamType:"+this.name+"}"},ParamType.prototype.$normalize=function(val){return this.is(val)?val:this.decode(val)},ParamType.prototype.$asArray=function(mode,isSearch){if(!mode)return this;if("auto"===mode&&!isSearch)throw new Error("'auto' array mode is for query parameters only");return new ArrayType(this,mode)},ParamType}();exports.ParamType=ParamType},function(module,exports,__webpack_require__){"use strict";function valToString(val){return null!=val?val.toString().replace(/~/g,"~~").replace(/\//g,"~2F"):val}function valFromString(val){return null!=val?val.toString().replace(/~2F/g,"/").replace(/~~/g,"~"):val}var common_1=__webpack_require__(3),predicates_1=__webpack_require__(4),hof_1=__webpack_require__(5),coreservices_1=__webpack_require__(6),type_1=__webpack_require__(24),ParamTypes=function(){function ParamTypes(){this.enqueue=!0,this.typeQueue=[],this.defaultTypes={hash:{encode:valToString,decode:valFromString,is:hof_1.is(String),pattern:/.*/,equals:function(a,b){return a==b}},string:{encode:valToString,decode:valFromString,is:hof_1.is(String),pattern:/[^\/]*/},"int":{encode:valToString,decode:function(val){return parseInt(val,10)},is:function(val){return predicates_1.isDefined(val)&&this.decode(val.toString())===val},pattern:/-?\d+/},bool:{encode:function(val){return val&&1||0},decode:function(val){return 0!==parseInt(val,10)},is:hof_1.is(Boolean),pattern:/0|1/},date:{encode:function(val){return this.is(val)?[val.getFullYear(),("0"+(val.getMonth()+1)).slice(-2),("0"+val.getDate()).slice(-2)].join("-"):void 0},decode:function(val){if(this.is(val))return val;var match=this.capture.exec(val);return match?new Date(match[1],match[2]-1,match[3]):void 0},is:function(val){return val instanceof Date&&!isNaN(val.valueOf())},equals:function(l,r){return["getFullYear","getMonth","getDate"].reduce(function(acc,fn){return acc&&l[fn]()===r[fn]()},!0)},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/,capture:/([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])/},json:{encode:common_1.toJson,decode:common_1.fromJson,is:hof_1.is(Object),equals:common_1.equals,pattern:/[^\/]*/},any:{encode:common_1.identity,decode:common_1.identity,equals:common_1.equals,pattern:/.*/}};var makeType=function(definition,name){return new type_1.ParamType(common_1.extend({name:name},definition))};this.types=common_1.inherit(common_1.map(this.defaultTypes,makeType),{})}return ParamTypes.prototype.type=function(name,definition,definitionFn){if(!predicates_1.isDefined(definition))return this.types[name];if(this.types.hasOwnProperty(name))throw new Error("A type named '"+name+"' has already been defined.");return this.types[name]=new type_1.ParamType(common_1.extend({name:name},definition)),definitionFn&&(this.typeQueue.push({name:name,def:definitionFn}),this.enqueue||this._flushTypeQueue()),this},ParamTypes.prototype._flushTypeQueue=function(){for(;this.typeQueue.length;){var type=this.typeQueue.shift();if(type.pattern)throw new Error("You cannot override a type's .pattern at runtime.");common_1.extend(this.types[type.name],coreservices_1.services.$injector.invoke(type.def))}},ParamTypes}();exports.ParamTypes=ParamTypes,exports.paramTypes=new ParamTypes},function(module,exports,__webpack_require__){"use strict";var urlMatcherFactory_1=__webpack_require__(27),urlRouter_1=__webpack_require__(29),state_1=__webpack_require__(30),urlRouter_2=__webpack_require__(29),transitionService_1=__webpack_require__(31),view_1=__webpack_require__(37),stateRegistry_1=__webpack_require__(38),stateService_1=__webpack_require__(43),globals_1=__webpack_require__(44),UIRouter=function(){function UIRouter(){this.viewService=new view_1.ViewService,this.transitionService=new transitionService_1.TransitionService(this),this.globals=new globals_1.Globals(this.transitionService),this.urlMatcherFactory=new urlMatcherFactory_1.UrlMatcherFactory,this.urlRouterProvider=new urlRouter_1.UrlRouterProvider(this.urlMatcherFactory,this.globals.params),this.urlRouter=new urlRouter_2.UrlRouter(this.urlRouterProvider),this.stateRegistry=new stateRegistry_1.StateRegistry(this.urlMatcherFactory,this.urlRouterProvider),this.stateProvider=new state_1.StateProvider(this.stateRegistry),this.stateService=new stateService_1.StateService(this),this.viewService.rootContext(this.stateRegistry.root()),this.globals.$current=this.stateRegistry.root(),this.globals.current=this.globals.$current.self}return UIRouter}();exports.UIRouter=UIRouter},function(module,exports,__webpack_require__){"use strict";function getDefaultConfig(){return{strict:urlMatcherConfig_1.matcherConfig.strictMode(),caseInsensitive:urlMatcherConfig_1.matcherConfig.caseInsensitive()}}var common_1=__webpack_require__(3),predicates_1=__webpack_require__(4),urlMatcher_1=__webpack_require__(28),urlMatcherConfig_1=__webpack_require__(23),param_1=__webpack_require__(22),paramTypes_1=__webpack_require__(25),UrlMatcherFactory=function(){function UrlMatcherFactory(){common_1.extend(this,{UrlMatcher:urlMatcher_1.UrlMatcher,Param:param_1.Param})}return UrlMatcherFactory.prototype.caseInsensitive=function(value){return urlMatcherConfig_1.matcherConfig.caseInsensitive(value)},UrlMatcherFactory.prototype.strictMode=function(value){return urlMatcherConfig_1.matcherConfig.strictMode(value)},UrlMatcherFactory.prototype.defaultSquashPolicy=function(value){return urlMatcherConfig_1.matcherConfig.defaultSquashPolicy(value)},UrlMatcherFactory.prototype.compile=function(pattern,config){return new urlMatcher_1.UrlMatcher(pattern,common_1.extend(getDefaultConfig(),config))},UrlMatcherFactory.prototype.isMatcher=function(object){if(!predicates_1.isObject(object))return!1;var result=!0;return common_1.forEach(urlMatcher_1.UrlMatcher.prototype,function(val,name){predicates_1.isFunction(val)&&(result=result&&predicates_1.isDefined(object[name])&&predicates_1.isFunction(object[name]))}),result},UrlMatcherFactory.prototype.type=function(name,definition,definitionFn){var type=paramTypes_1.paramTypes.type(name,definition,definitionFn);return predicates_1.isDefined(definition)?this:type},UrlMatcherFactory.prototype.$get=function(){return paramTypes_1.paramTypes.enqueue=!1,paramTypes_1.paramTypes._flushTypeQueue(),this},UrlMatcherFactory}();exports.UrlMatcherFactory=UrlMatcherFactory},function(module,exports,__webpack_require__){"use strict";function quoteRegExp(string,param){var surroundPattern=["",""],result=string.replace(/[\\\[\]\^$*+?.()|{}]/g,"\\$&");if(!param)return result;switch(param.squash){case!1:surroundPattern=["(",")"+(param.isOptional?"?":"")];break;case!0:result=result.replace(/\/$/,""),surroundPattern=["(?:/(",")|/)?"];break;default:surroundPattern=["("+param.squash+"|",")?"]}return result+surroundPattern[0]+param.type.pattern.source+surroundPattern[1]}var common_1=__webpack_require__(3),hof_1=__webpack_require__(5),predicates_1=__webpack_require__(4),param_1=__webpack_require__(22),paramTypes_1=__webpack_require__(25),predicates_2=__webpack_require__(4),param_2=__webpack_require__(22),common_2=__webpack_require__(3),common_3=__webpack_require__(3),memoizeTo=function(obj,prop,fn){return obj[prop]=obj[prop]||fn()},UrlMatcher=function(){function UrlMatcher(pattern,config){var _this=this;this.config=config,this._cache={path:[],pattern:null},this._children=[],this._params=[],this._segments=[],this._compiled=[],this.pattern=pattern,this.config=common_1.defaults(this.config,{params:{},strict:!0,caseInsensitive:!1,paramMap:common_1.identity});for(var m,p,segment,placeholder=/([:*])([\w\[\]]+)|\{([\w\[\]]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,searchPlaceholder=/([:]?)([\w\[\].-]+)|\{([\w\[\].-]+)(?:\:\s*((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,last=0,patterns=[],checkParamErrors=function(id){if(!UrlMatcher.nameValidator.test(id))throw new Error("Invalid parameter name '"+id+"' in pattern '"+pattern+"'");if(common_1.find(_this._params,hof_1.propEq("id",id)))throw new Error("Duplicate parameter name '"+id+"' in pattern '"+pattern+"'")},matchDetails=function(m,isSearch){var id=m[2]||m[3],regexp=isSearch?m[4]:m[4]||("*"===m[1]?".*":null);return{id:id,regexp:regexp,cfg:_this.config.params[id],segment:pattern.substring(last,m.index),type:regexp?paramTypes_1.paramTypes.type(regexp||"string")||common_1.inherit(paramTypes_1.paramTypes.type("string"),{pattern:new RegExp(regexp,_this.config.caseInsensitive?"i":void 0)}):null}};(m=placeholder.exec(pattern))&&(p=matchDetails(m,!1),!(p.segment.indexOf("?")>=0));)checkParamErrors(p.id),this._params.push(param_1.Param.fromPath(p.id,p.type,this.config.paramMap(p.cfg,!1))),this._segments.push(p.segment),patterns.push([p.segment,common_1.tail(this._params)]),last=placeholder.lastIndex;segment=pattern.substring(last);var i=segment.indexOf("?");if(i>=0){var search=segment.substring(i);if(segment=segment.substring(0,i),search.length>0)for(last=0;m=searchPlaceholder.exec(search);)p=matchDetails(m,!0),checkParamErrors(p.id),this._params.push(param_1.Param.fromSearch(p.id,p.type,this.config.paramMap(p.cfg,!0))),last=placeholder.lastIndex}this._segments.push(segment),common_1.extend(this,{_compiled:patterns.map(function(pattern){return quoteRegExp.apply(null,pattern)}).concat(quoteRegExp(segment)),prefix:this._segments[0]}),Object.freeze(this)}return UrlMatcher.prototype.append=function(url){return this._children.push(url),common_1.forEach(url._cache,function(val,key){return url._cache[key]=predicates_1.isArray(val)?[]:null}),url._cache.path=this._cache.path.concat(this),url},UrlMatcher.prototype.isRoot=function(){return 0===this._cache.path.length},UrlMatcher.prototype.toString=function(){return this.pattern},UrlMatcher.prototype.exec=function(path,search,hash,options){function decodePathArray(string){var reverseString=function(str){return str.split("").reverse().join("")},unquoteDashes=function(str){return str.replace(/\\-/g,"-")},split=reverseString(string).split(/-(?!\\)/),allReversed=common_1.map(split,reverseString);return common_1.map(allReversed,unquoteDashes).reverse()}var _this=this;void 0===search&&(search={}),void 0===options&&(options={});var match=memoizeTo(this._cache,"pattern",function(){return new RegExp(["^",common_1.unnest(_this._cache.path.concat(_this).map(hof_1.prop("_compiled"))).join(""),_this.config.strict===!1?"/?":"","$"].join(""),_this.config.caseInsensitive?"i":void 0)}).exec(path);if(!match)return null;var allParams=this.parameters(),pathParams=allParams.filter(function(param){return!param.isSearch()}),searchParams=allParams.filter(function(param){return param.isSearch()}),nPathSegments=this._cache.path.concat(this).map(function(urlm){return urlm._segments.length-1}).reduce(function(a,x){return a+x}),values={};if(nPathSegments!==match.length-1)throw new Error("Unbalanced capture group in route '"+this.pattern+"'");for(var i=0;i<nPathSegments;i++){for(var param=pathParams[i],value=match[i+1],j=0;j<param.replace.length;j++)param.replace[j].from===value&&(value=param.replace[j].to);value&&param.array===!0&&(value=decodePathArray(value)),predicates_2.isDefined(value)&&(value=param.type.decode(value)),values[param.id]=param.value(value)}return common_1.forEach(searchParams,function(param){for(var value=search[param.id],j=0;j<param.replace.length;j++)param.replace[j].from===value&&(value=param.replace[j].to);predicates_2.isDefined(value)&&(value=param.type.decode(value)),values[param.id]=param.value(value)}),hash&&(values["#"]=hash),values},UrlMatcher.prototype.parameters=function(opts){return void 0===opts&&(opts={}),opts.inherit===!1?this._params:common_1.unnest(this._cache.path.concat(this).map(hof_1.prop("_params")))},UrlMatcher.prototype.parameter=function(id,opts){void 0===opts&&(opts={});var parent=common_1.tail(this._cache.path);return common_1.find(this._params,hof_1.propEq("id",id))||opts.inherit!==!1&&parent&&parent.parameter(id)||null},UrlMatcher.prototype.validates=function(params){var _this=this,validParamVal=function(param,val){return!param||param.validates(val)};return common_1.pairs(params||{}).map(function(_a){var key=_a[0],val=_a[1];return validParamVal(_this.parameter(key),val)}).reduce(common_1.allTrueR,!0)},UrlMatcher.prototype.format=function(values){function getDetails(param){var value=param.value(values[param.id]),isDefaultValue=param.isDefaultValue(value),squash=!!isDefaultValue&&param.squash,encoded=param.type.encode(value);return{param:param,value:value,isDefaultValue:isDefaultValue,squash:squash,encoded:encoded}}if(void 0===values&&(values={}),!this.validates(values))return null;var urlMatchers=this._cache.path.slice().concat(this),pathSegmentsAndParams=urlMatchers.map(UrlMatcher.pathSegmentsAndParams).reduce(common_2.unnestR,[]),queryParams=urlMatchers.map(UrlMatcher.queryParams).reduce(common_2.unnestR,[]),pathString=pathSegmentsAndParams.reduce(function(acc,x){if(predicates_1.isString(x))return acc+x;var _a=getDetails(x),squash=_a.squash,encoded=_a.encoded,param=_a.param;return squash===!0?acc.match(/\/$/)?acc.slice(0,-1):acc:predicates_1.isString(squash)?acc+squash:squash!==!1?acc:null==encoded?acc:predicates_1.isArray(encoded)?acc+common_1.map(encoded,UrlMatcher.encodeDashes).join("-"):param.type.raw?acc+encoded:acc+encodeURIComponent(encoded)},""),queryString=queryParams.map(function(param){var _a=getDetails(param),squash=_a.squash,encoded=_a.encoded,isDefaultValue=_a.isDefaultValue;if(!(null==encoded||isDefaultValue&&squash!==!1)&&(predicates_1.isArray(encoded)||(encoded=[encoded]),0!==encoded.length))return param.type.raw||(encoded=common_1.map(encoded,encodeURIComponent)),encoded.map(function(val){return param.id+"="+val})}).filter(common_1.identity).reduce(common_2.unnestR,[]).join("&");return pathString+(queryString?"?"+queryString:"")+(values["#"]?"#"+values["#"]:"")},UrlMatcher.encodeDashes=function(str){return encodeURIComponent(str).replace(/-/g,function(c){return"%5C%"+c.charCodeAt(0).toString(16).toUpperCase()})},UrlMatcher.pathSegmentsAndParams=function(matcher){var staticSegments=matcher._segments,pathParams=matcher._params.filter(function(p){return p.location===param_2.DefType.PATH});return common_3.arrayTuples(staticSegments,pathParams.concat(void 0)).reduce(common_2.unnestR,[]).filter(function(x){return""!==x&&predicates_2.isDefined(x)})},UrlMatcher.queryParams=function(matcher){return matcher._params.filter(function(p){return p.location===param_2.DefType.SEARCH})},UrlMatcher.nameValidator=/^\w+([-.]+\w+)*(?:\[\])?$/,UrlMatcher}();exports.UrlMatcher=UrlMatcher},function(module,exports,__webpack_require__){"use strict";function regExpPrefix(re){var prefix=/^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/.exec(re.source);return null!=prefix?prefix[1].replace(/\\(.)/g,"$1"):""}function interpolate(pattern,match){return pattern.replace(/\$(\$|\d{1,2})/,function(m,what){return match["$"===what?0:Number(what)]})}function handleIfMatch($injector,$stateParams,handler,match){if(!match)return!1;var result=$injector.invoke(handler,handler,{$match:match,$stateParams:$stateParams});return!predicates_1.isDefined(result)||result}function appendBasePath(url,isHtml5,absolute){var baseHref=coreservices_1.services.locationConfig.baseHref();return"/"===baseHref?url:isHtml5?baseHref.slice(0,-1)+url:absolute?baseHref.slice(1)+url:url}function update(rules,otherwiseFn,evt){function check(rule){var handled=rule(coreservices_1.services.$injector,$location);return!!handled&&(predicates_1.isString(handled)&&($location.replace(),$location.url(handled)),!0)}if(!evt||!evt.defaultPrevented){var i,n=rules.length;for(i=0;i<n;i++)if(check(rules[i]))return;otherwiseFn&&check(otherwiseFn)}}var common_1=__webpack_require__(3),predicates_1=__webpack_require__(4),coreservices_1=__webpack_require__(6),$location=coreservices_1.services.location,UrlRouterProvider=function(){function UrlRouterProvider($urlMatcherFactory,$stateParams){this.rules=[],this.interceptDeferred=!1,this.$urlMatcherFactory=$urlMatcherFactory,this.$stateParams=$stateParams}return UrlRouterProvider.prototype.rule=function(rule){if(!predicates_1.isFunction(rule))throw new Error("'rule' must be a function");return this.rules.push(rule),this},UrlRouterProvider.prototype.otherwise=function(rule){if(!predicates_1.isFunction(rule)&&!predicates_1.isString(rule))throw new Error("'rule' must be a string or function");return this.otherwiseFn=predicates_1.isString(rule)?function(){return rule}:rule,this},UrlRouterProvider.prototype.when=function(what,handler){var redirect,_a=this,$urlMatcherFactory=_a.$urlMatcherFactory,$stateParams=_a.$stateParams,handlerIsString=predicates_1.isString(handler);if(predicates_1.isString(what)&&(what=$urlMatcherFactory.compile(what)),!handlerIsString&&!predicates_1.isFunction(handler)&&!predicates_1.isArray(handler))throw new Error("invalid 'handler' in when()");var strategies={matcher:function(_what,_handler){return handlerIsString&&(redirect=$urlMatcherFactory.compile(_handler),_handler=["$match",redirect.format.bind(redirect)]),common_1.extend(function(){return handleIfMatch(coreservices_1.services.$injector,$stateParams,_handler,_what.exec($location.path(),$location.search(),$location.hash()))},{prefix:predicates_1.isString(_what.prefix)?_what.prefix:""})},regex:function(_what,_handler){if(_what.global||_what.sticky)throw new Error("when() RegExp must not be global or sticky");return handlerIsString&&(redirect=_handler,_handler=["$match",function($match){return interpolate(redirect,$match)}]),common_1.extend(function(){return handleIfMatch(coreservices_1.services.$injector,$stateParams,_handler,_what.exec($location.path()))},{prefix:regExpPrefix(_what)})}},check={matcher:$urlMatcherFactory.isMatcher(what),regex:what instanceof RegExp};for(var n in check)if(check[n])return this.rule(strategies[n](what,handler));throw new Error("invalid 'what' in when()")},UrlRouterProvider.prototype.deferIntercept=function(defer){void 0===defer&&(defer=!0),this.interceptDeferred=defer},UrlRouterProvider}();exports.UrlRouterProvider=UrlRouterProvider;var UrlRouter=function(){function UrlRouter(urlRouterProvider){this.urlRouterProvider=urlRouterProvider,common_1.bindFunctions(UrlRouter.prototype,this,this)}return UrlRouter.prototype.sync=function(){update(this.urlRouterProvider.rules,this.urlRouterProvider.otherwiseFn)},UrlRouter.prototype.listen=function(){var _this=this;return this.listener=this.listener||$location.onChange(function(evt){return update(_this.urlRouterProvider.rules,_this.urlRouterProvider.otherwiseFn,evt)})},UrlRouter.prototype.update=function(read){return read?void(this.location=$location.url()):void($location.url()!==this.location&&($location.url(this.location),$location.replace()))},UrlRouter.prototype.push=function(urlMatcher,params,options){$location.url(urlMatcher.format(params||{})),options&&options.replace&&$location.replace()},UrlRouter.prototype.href=function(urlMatcher,params,options){if(!urlMatcher.validates(params))return null;var url=urlMatcher.format(params);options=options||{absolute:!1};var cfg=coreservices_1.services.locationConfig,isHtml5=cfg.html5Mode();if(isHtml5||null===url||(url="#"+cfg.hashPrefix()+url),url=appendBasePath(url,isHtml5,options.absolute),!options.absolute||!url)return url;var slash=!isHtml5&&url?"/":"",port=cfg.port();return port=80===port||443===port?"":":"+port,[cfg.protocol(),"://",cfg.host(),port,slash,url].join("")},UrlRouter}();exports.UrlRouter=UrlRouter},function(module,exports,__webpack_require__){"use strict";var predicates_1=__webpack_require__(4),common_1=__webpack_require__(3),StateProvider=function(){function StateProvider(stateRegistry){this.stateRegistry=stateRegistry,this.invalidCallbacks=[],common_1.bindFunctions(StateProvider.prototype,this,this)}return StateProvider.prototype.decorator=function(name,func){return this.stateRegistry.decorator(name,func)||this},StateProvider.prototype.state=function(name,definition){return predicates_1.isObject(name)?definition=name:definition.name=name,this.stateRegistry.register(definition),this},StateProvider.prototype.onInvalid=function(callback){this.invalidCallbacks.push(callback)},StateProvider}();exports.StateProvider=StateProvider},function(module,exports,__webpack_require__){"use strict";var transition_1=__webpack_require__(11),hookRegistry_1=__webpack_require__(15),resolve_1=__webpack_require__(32),views_1=__webpack_require__(33),url_1=__webpack_require__(34),redirectTo_1=__webpack_require__(35),onEnterExitRetain_1=__webpack_require__(36),hof_1=__webpack_require__(5);exports.defaultTransOpts={location:!0,relative:null,inherit:!1,notify:!0,reload:!1,custom:{},current:function(){return null}};var TransitionService=function(){function TransitionService(_router){this._router=_router,this.$view=_router.viewService,hookRegistry_1.HookRegistry.mixin(new hookRegistry_1.HookRegistry,this),this._deregisterHookFns={},this.registerTransitionHooks()}return TransitionService.prototype.registerTransitionHooks=function(){var fns=this._deregisterHookFns;fns.redirectTo=this.onStart({to:function(state){return!!state.redirectTo}},redirectTo_1.redirectToHook),fns.onExit=this.onExit({exiting:function(state){return!!state.onExit}},onEnterExitRetain_1.onExitHook),fns.onRetain=this.onRetain({retained:function(state){return!!state.onRetain}},onEnterExitRetain_1.onRetainHook),fns.onEnter=this.onEnter({entering:function(state){return!!state.onEnter}},onEnterExitRetain_1.onEnterHook),fns.eagerResolve=this.onStart({},resolve_1.eagerResolvePath,{priority:1e3}),fns.lazyResolve=this.onEnter({entering:hof_1.val(!0)},resolve_1.lazyResolveState,{priority:1e3}),fns.loadViews=this.onStart({},views_1.loadEnteringViews),fns.activateViews=this.onSuccess({},views_1.activateViews),fns.updateUrl=this.onSuccess({},url_1.updateUrl,{priority:9999})},TransitionService.prototype.onBefore=function(matchCriteria,callback,options){throw""},TransitionService.prototype.onStart=function(matchCriteria,callback,options){throw""},TransitionService.prototype.onExit=function(matchCriteria,callback,options){throw""},TransitionService.prototype.onRetain=function(matchCriteria,callback,options){throw""},TransitionService.prototype.onEnter=function(matchCriteria,callback,options){throw""},TransitionService.prototype.onFinish=function(matchCriteria,callback,options){throw""},TransitionService.prototype.onSuccess=function(matchCriteria,callback,options){throw""},TransitionService.prototype.onError=function(matchCriteria,callback,options){throw""},TransitionService.prototype.create=function(fromPath,targetState){return new transition_1.Transition(fromPath,targetState,this._router)},TransitionService}();exports.TransitionService=TransitionService},function(module,exports,__webpack_require__){"use strict";var common_1=__webpack_require__(3),resolveContext_1=__webpack_require__(17);exports.eagerResolvePath=function(trans){return new resolveContext_1.ResolveContext(trans.treeChanges().to).resolvePath("EAGER",trans).then(common_1.noop)},exports.lazyResolveState=function(trans,state){return new resolveContext_1.ResolveContext(trans.treeChanges().to).subContext(state).resolvePath("LAZY",trans).then(common_1.noop)}},function(module,exports,__webpack_require__){"use strict";function loadEnteringViews(transition){var enteringViews=transition.views("entering");if(enteringViews.length)return coreservices_1.services.$q.all(enteringViews.map(function(view){return view.load()})).then(common_1.noop)}function activateViews(transition){var enteringViews=transition.views("entering"),exitingViews=transition.views("exiting");if(enteringViews.length||exitingViews.length){var $view=transition.router.viewService;exitingViews.forEach(function(vc){return $view.deactivateViewConfig(vc)}),enteringViews.forEach(function(vc){return $view.activateViewConfig(vc)}),$view.sync()}}var common_1=__webpack_require__(3),coreservices_1=__webpack_require__(6);exports.loadEnteringViews=loadEnteringViews,exports.activateViews=activateViews},function(module,exports){"use strict";function updateUrl(transition){var options=transition.options(),$state=transition.router.stateService,$urlRouter=transition.router.urlRouter;if(options.location&&$state.$current.navigable){var urlOptions={replace:"replace"===options.location};$urlRouter.push($state.$current.navigable.url,$state.params,urlOptions)}$urlRouter.update(!0)}exports.updateUrl=updateUrl},function(module,exports,__webpack_require__){"use strict";var predicates_1=__webpack_require__(4),coreservices_1=__webpack_require__(6),targetState_1=__webpack_require__(14);exports.redirectToHook=function(trans){function handleResult(result){var $state=trans.router.stateService;return result instanceof targetState_1.TargetState?result:predicates_1.isString(result)?$state.target(result,trans.params(),trans.options()):result.state||result.params?$state.target(result.state||trans.to(),result.params||trans.params(),trans.options()):void 0}var redirect=trans.to().redirectTo;if(redirect)return predicates_1.isFunction(redirect)?coreservices_1.services.$q.when(redirect(trans)).then(handleResult):handleResult(redirect)}},function(module,exports){"use strict";function makeEnterExitRetainHook(hookName){return function(transition,state){return state[hookName](transition,state)}}exports.onExitHook=makeEnterExitRetainHook("onExit"),exports.onRetainHook=makeEnterExitRetainHook("onRetain"),exports.onEnterHook=makeEnterExitRetainHook("onEnter")},function(module,exports,__webpack_require__){"use strict";var common_1=__webpack_require__(3),hof_1=__webpack_require__(5),predicates_1=__webpack_require__(4),trace_1=__webpack_require__(12),ViewService=function(){function ViewService(){var _this=this;this.uiViews=[],this.viewConfigs=[],this._viewConfigFactories={},this.sync=function(){function uiViewDepth(uiView){return uiView.fqn.split(".").length}function viewConfigDepth(config){for(var context=config.viewDecl.$context,count=0;++count&&context.parent;)context=context.parent;return count}var uiViewsByFqn=_this.uiViews.map(function(uiv){return[uiv.fqn,uiv]}).reduce(common_1.applyPairs,{}),matches=function(uiView){return function(viewConfig){if(uiView.$type!==viewConfig.viewDecl.$type)return!1;var vc=viewConfig.viewDecl,vcSegments=vc.$uiViewName.split("."),uivSegments=uiView.fqn.split(".");if(!common_1.equals(vcSegments,uivSegments.slice(0-vcSegments.length)))return!1;var negOffset=1-vcSegments.length||void 0,fqnToFirstSegment=uivSegments.slice(0,negOffset).join("."),uiViewContext=uiViewsByFqn[fqnToFirstSegment].creationContext;return vc.$uiViewContextAnchor===(uiViewContext&&uiViewContext.name)}},depthCompare=hof_1.curry(function(depthFn,posNeg,left,right){return posNeg*(depthFn(left)-depthFn(right))}),matchingConfigPair=function(uiView){var matchingConfigs=_this.viewConfigs.filter(matches(uiView));return matchingConfigs.length>1&&matchingConfigs.sort(depthCompare(viewConfigDepth,-1)),[uiView,matchingConfigs[0]]},configureUIView=function(_a){var uiView=_a[0],viewConfig=_a[1];_this.uiViews.indexOf(uiView)!==-1&&uiView.configUpdated(viewConfig)};_this.uiViews.sort(depthCompare(uiViewDepth,1)).map(matchingConfigPair).forEach(configureUIView)}}return ViewService.prototype.rootContext=function(context){return this._rootContext=context||this._rootContext},ViewService.prototype.viewConfigFactory=function(viewType,factory){this._viewConfigFactories[viewType]=factory},ViewService.prototype.createViewConfig=function(path,decl){var cfgFactory=this._viewConfigFactories[decl.$type];if(!cfgFactory)throw new Error("ViewService: No view config factory registered for type "+decl.$type);var cfgs=cfgFactory(path,decl);return predicates_1.isArray(cfgs)?cfgs:[cfgs]},ViewService.prototype.deactivateViewConfig=function(viewConfig){trace_1.trace.traceViewServiceEvent("<- Removing",viewConfig),common_1.removeFrom(this.viewConfigs,viewConfig)},ViewService.prototype.activateViewConfig=function(viewConfig){trace_1.trace.traceViewServiceEvent("-> Registering",viewConfig),this.viewConfigs.push(viewConfig)},ViewService.prototype.registerUIView=function(uiView){trace_1.trace.traceViewServiceUIViewEvent("-> Registering",uiView);var uiViews=this.uiViews,fqnMatches=function(uiv){return uiv.fqn===uiView.fqn};return uiViews.filter(fqnMatches).length&&trace_1.trace.traceViewServiceUIViewEvent("!!!! duplicate uiView named:",uiView),uiViews.push(uiView),this.sync(),function(){var idx=uiViews.indexOf(uiView);return idx<=0?void trace_1.trace.traceViewServiceUIViewEvent("Tried removing non-registered uiView",uiView):(trace_1.trace.traceViewServiceUIViewEvent("<- Deregistering",uiView),void common_1.removeFrom(uiViews)(uiView))}},ViewService.prototype.available=function(){return this.uiViews.map(hof_1.prop("fqn"))},ViewService.prototype.active=function(){return this.uiViews.filter(hof_1.prop("$config")).map(hof_1.prop("name"))},ViewService.normalizeUIViewTarget=function(context,rawViewName){void 0===rawViewName&&(rawViewName="");var viewAtContext=rawViewName.split("@"),uiViewName=viewAtContext[0]||"$default",uiViewContextAnchor=predicates_1.isString(viewAtContext[1])?viewAtContext[1]:"^",relativeViewNameSugar=/^(\^(?:\.\^)*)\.(.*$)/.exec(uiViewName);relativeViewNameSugar&&(uiViewContextAnchor=relativeViewNameSugar[1],uiViewName=relativeViewNameSugar[2]),"!"===uiViewName.charAt(0)&&(uiViewName=uiViewName.substr(1),uiViewContextAnchor="");var relativeMatch=/^(\^(?:\.\^)*)$/;if(relativeMatch.exec(uiViewContextAnchor)){var anchor=uiViewContextAnchor.split(".").reduce(function(anchor,x){return anchor.parent},context);uiViewContextAnchor=anchor.name}return{uiViewName:uiViewName,uiViewContextAnchor:uiViewContextAnchor}},ViewService}();exports.ViewService=ViewService},function(module,exports,__webpack_require__){"use strict";var stateMatcher_1=__webpack_require__(39),stateBuilder_1=__webpack_require__(40),stateQueueManager_1=__webpack_require__(41),StateRegistry=function(){function StateRegistry(urlMatcherFactory,urlRouterProvider){this.states={},this.matcher=new stateMatcher_1.StateMatcher(this.states),this.builder=new stateBuilder_1.StateBuilder(this.matcher,urlMatcherFactory),this.stateQueue=new stateQueueManager_1.StateQueueManager(this.states,this.builder,urlRouterProvider);var rootStateDef={name:"",url:"^",views:null,params:{"#":{value:null,type:"hash",dynamic:!0}},"abstract":!0},_root=this._root=this.stateQueue.register(rootStateDef);_root.navigable=null}return StateRegistry.prototype.root=function(){return this._root},StateRegistry.prototype.register=function(stateDefinition){return this.stateQueue.register(stateDefinition)},StateRegistry.prototype.get=function(stateOrName,base){var _this=this;if(0===arguments.length)return Object.keys(this.states).map(function(name){return _this.states[name].self});var found=this.matcher.find(stateOrName,base);return found&&found.self||null},StateRegistry.prototype.decorator=function(name,func){return this.builder.builder(name,func)},StateRegistry}();exports.StateRegistry=StateRegistry},function(module,exports,__webpack_require__){"use strict";var predicates_1=__webpack_require__(4),StateMatcher=function(){function StateMatcher(_states){this._states=_states}return StateMatcher.prototype.isRelative=function(stateName){return stateName=stateName||"",0===stateName.indexOf(".")||0===stateName.indexOf("^");
+},StateMatcher.prototype.find=function(stateOrName,base){if(stateOrName||""===stateOrName){var isStr=predicates_1.isString(stateOrName),name=isStr?stateOrName:stateOrName.name;this.isRelative(name)&&(name=this.resolvePath(name,base));var state=this._states[name];return!state||!isStr&&(isStr||state!==stateOrName&&state.self!==stateOrName)?void 0:state}},StateMatcher.prototype.resolvePath=function(name,base){if(!base)throw new Error("No reference point given for path '"+name+"'");for(var baseState=this.find(base),splitName=name.split("."),i=0,pathLength=splitName.length,current=baseState;i<pathLength;i++)if(""!==splitName[i]||0!==i){if("^"!==splitName[i])break;if(!current.parent)throw new Error("Path '"+name+"' not valid for state '"+baseState.name+"'");current=current.parent}else current=baseState;var relName=splitName.slice(i).join(".");return current.name+(current.name&&relName?".":"")+relName},StateMatcher}();exports.StateMatcher=StateMatcher},function(module,exports,__webpack_require__){"use strict";function selfBuilder(state){return state.self.$$state=function(){return state},state.self}function dataBuilder(state){return state.parent&&state.parent.data&&(state.data=state.self.data=common_1.inherit(state.parent.data,state.data)),state.data}function paramsBuilder(state){var makeConfigParam=function(config,id){return param_1.Param.fromConfig(id,null,config)},urlParams=state.url&&state.url.parameters({inherit:!1})||[],nonUrlParams=common_1.values(common_1.map(common_1.omit(state.params||{},urlParams.map(hof_1.prop("id"))),makeConfigParam));return urlParams.concat(nonUrlParams).map(function(p){return[p.id,p]}).reduce(common_1.applyPairs,{})}function pathBuilder(state){return state.parent?state.parent.path.concat(state):[state]}function includesBuilder(state){var includes=state.parent?common_1.extend({},state.parent.includes):{};return includes[state.name]=!0,includes}function resolvablesBuilder(state){var obj2Tuples=function(obj){return Object.keys(obj||{}).map(function(token){return{token:token,val:obj[token],deps:void 0}})},annotate=function(fn){return fn.$inject||coreservices_1.services.$injector.annotate(fn,coreservices_1.services.$injector.strictDi)},isResolveLiteral=function(obj){return!(!obj.token||!obj.resolveFn)},isLikeNg2Provider=function(obj){return!(!obj.provide&&!obj.token||!(obj.useValue||obj.useFactory||obj.useExisting||obj.useClass))},isTupleFromObj=function(obj){return!!(obj&&obj.val&&(predicates_1.isString(obj.val)||predicates_1.isArray(obj.val)||predicates_1.isFunction(obj.val)))},token=function(p){return p.provide||p.token},literal2Resolvable=hof_1.pattern([[hof_1.prop("resolveFn"),function(p){return new resolvable_1.Resolvable(token(p),p.resolveFn,p.deps,p.policy)}],[hof_1.prop("useFactory"),function(p){return new resolvable_1.Resolvable(token(p),p.useFactory,p.deps||p.dependencies,p.policy)}],[hof_1.prop("useClass"),function(p){return new resolvable_1.Resolvable(token(p),function(){return new p.useClass},[],p.policy)}],[hof_1.prop("useValue"),function(p){return new resolvable_1.Resolvable(token(p),function(){return p.useValue},[],p.policy,p.useValue)}],[hof_1.prop("useExisting"),function(p){return new resolvable_1.Resolvable(token(p),function(x){return x},[p.useExisting],p.policy)}]]),tuple2Resolvable=hof_1.pattern([[hof_1.pipe(hof_1.prop("val"),predicates_1.isString),function(tuple){return new resolvable_1.Resolvable(tuple.token,function(x){return x},[tuple.val],tuple.policy)}],[hof_1.pipe(hof_1.prop("val"),predicates_1.isArray),function(tuple){return new resolvable_1.Resolvable(tuple.token,common_1.tail(tuple.val),tuple.val.slice(0,-1),tuple.policy)}],[hof_1.pipe(hof_1.prop("val"),predicates_1.isFunction),function(tuple){return new resolvable_1.Resolvable(tuple.token,tuple.val,annotate(tuple.val),tuple.policy)}]]),item2Resolvable=hof_1.pattern([[hof_1.is(resolvable_1.Resolvable),function(r){return r}],[isResolveLiteral,literal2Resolvable],[isLikeNg2Provider,literal2Resolvable],[isTupleFromObj,tuple2Resolvable],[hof_1.val(!0),function(tuple){throw new Error("Invalid resolve value: "+strings_1.stringify(tuple))}]]),decl=state.resolve,items=predicates_1.isArray(decl)?decl:obj2Tuples(decl);return items.map(item2Resolvable)}var common_1=__webpack_require__(3),predicates_1=__webpack_require__(4),strings_1=__webpack_require__(9),hof_1=__webpack_require__(5),param_1=__webpack_require__(22),resolvable_1=__webpack_require__(19),coreservices_1=__webpack_require__(6),parseUrl=function(url){if(!predicates_1.isString(url))return!1;var root="^"===url.charAt(0);return{val:root?url.substring(1):url,root:root}},getUrlBuilder=function($urlMatcherFactoryProvider,root){return function(state){var stateDec=state,parsed=parseUrl(stateDec.url),parent=state.parent,url=parsed?$urlMatcherFactoryProvider.compile(parsed.val,{params:state.params||{},paramMap:function(paramConfig,isSearch){return stateDec.reloadOnSearch===!1&&isSearch&&(paramConfig=common_1.extend(paramConfig||{},{dynamic:!0})),paramConfig}}):stateDec.url;if(!url)return null;if(!$urlMatcherFactoryProvider.isMatcher(url))throw new Error("Invalid url '"+url+"' in state '"+state+"'");return parsed&&parsed.root?url:(parent&&parent.navigable||root()).url.append(url)}},getNavigableBuilder=function(isRoot){return function(state){return!isRoot(state)&&state.url?state:state.parent?state.parent.navigable:null}};exports.resolvablesBuilder=resolvablesBuilder;var StateBuilder=function(){function StateBuilder(matcher,$urlMatcherFactoryProvider){function parentBuilder(state){return isRoot(state)?null:matcher.find(self.parentName(state))||root()}this.matcher=matcher;var self=this,root=function(){return matcher.find("")},isRoot=function(state){return""===state.name};this.builders={self:[selfBuilder],parent:[parentBuilder],data:[dataBuilder],url:[getUrlBuilder($urlMatcherFactoryProvider,root)],navigable:[getNavigableBuilder(isRoot)],params:[paramsBuilder],views:[],path:[pathBuilder],includes:[includesBuilder],resolvables:[resolvablesBuilder]}}return StateBuilder.prototype.builder=function(name,fn){var builders=this.builders,array=builders[name]||[];return predicates_1.isString(name)&&!predicates_1.isDefined(fn)?array.length>1?array:array[0]:predicates_1.isString(name)&&predicates_1.isFunction(fn)?(builders[name]=array,builders[name].push(fn),function(){return builders[name].splice(builders[name].indexOf(fn,1))&&null}):void 0},StateBuilder.prototype.build=function(state){var _a=this,matcher=_a.matcher,builders=_a.builders,parent=this.parentName(state);if(parent&&!matcher.find(parent))return null;for(var key in builders)if(builders.hasOwnProperty(key)){var chain=builders[key].reduce(function(parentFn,step){return function(_state){return step(_state,parentFn)}},common_1.noop);state[key]=chain(state)}return state},StateBuilder.prototype.parentName=function(state){var name=state.name||"";return name.indexOf(".")!==-1?name.substring(0,name.lastIndexOf(".")):state.parent?predicates_1.isString(state.parent)?state.parent:state.parent.name:""},StateBuilder.prototype.name=function(state){var name=state.name;if(name.indexOf(".")!==-1||!state.parent)return name;var parentName=predicates_1.isString(state.parent)?state.parent:state.parent.name;return parentName?parentName+"."+name:name},StateBuilder}();exports.StateBuilder=StateBuilder},function(module,exports,__webpack_require__){"use strict";var common_1=__webpack_require__(3),predicates_1=__webpack_require__(4),stateObject_1=__webpack_require__(42),StateQueueManager=function(){function StateQueueManager(states,builder,$urlRouterProvider){this.states=states,this.builder=builder,this.$urlRouterProvider=$urlRouterProvider,this.queue=[]}return StateQueueManager.prototype.register=function(config){var _a=this,states=_a.states,queue=_a.queue,$state=_a.$state,state=common_1.inherit(new stateObject_1.State,common_1.extend({},config,{self:config,resolve:config.resolve||[],toString:function(){return config.name}}));if(!predicates_1.isString(state.name))throw new Error("State must have a valid name");if(states.hasOwnProperty(state.name)||common_1.pluck(queue,"name").indexOf(state.name)!==-1)throw new Error("State '"+state.name+"' is already defined");return queue.push(state),this.$state&&this.flush($state),state},StateQueueManager.prototype.flush=function($state){for(var result,state,orphanIdx,_a=this,queue=_a.queue,states=_a.states,builder=_a.builder,orphans=[],previousQueueLength={};queue.length>0;)if(state=queue.shift(),result=builder.build(state),orphanIdx=orphans.indexOf(state),result){if(states.hasOwnProperty(state.name))throw new Error("State '"+name+"' is already defined");states[state.name]=state,this.attachRoute($state,state),orphanIdx>=0&&orphans.splice(orphanIdx,1)}else{var prev=previousQueueLength[state.name];if(previousQueueLength[state.name]=queue.length,orphanIdx>=0&&prev===queue.length)return states;orphanIdx<0&&orphans.push(state),queue.push(state)}return states},StateQueueManager.prototype.autoFlush=function($state){this.$state=$state,this.flush($state)},StateQueueManager.prototype.attachRoute=function($state,state){var $urlRouterProvider=this.$urlRouterProvider;!state[common_1.abstractKey]&&state.url&&$urlRouterProvider.when(state.url,["$match","$stateParams",function($match,$stateParams){$state.$current.navigable===state&&common_1.equalForKeys($match,$stateParams)||$state.transitionTo(state,$match,{inherit:!0,location:!1})}])},StateQueueManager}();exports.StateQueueManager=StateQueueManager},function(module,exports,__webpack_require__){"use strict";var common_1=__webpack_require__(3),hof_1=__webpack_require__(5),State=function(){function State(config){common_1.extend(this,config)}return State.prototype.is=function(ref){return this===ref||this.self===ref||this.fqn()===ref},State.prototype.fqn=function(){if(!(this.parent&&this.parent instanceof this.constructor))return this.name;var name=this.parent.fqn();return name?name+"."+this.name:this.name},State.prototype.root=function(){return this.parent&&this.parent.root()||this},State.prototype.parameters=function(opts){opts=common_1.defaults(opts,{inherit:!0});var inherited=opts.inherit&&this.parent&&this.parent.parameters()||[];return inherited.concat(common_1.values(this.params))},State.prototype.parameter=function(id,opts){return void 0===opts&&(opts={}),this.url&&this.url.parameter(id,opts)||common_1.find(common_1.values(this.params),hof_1.propEq("id",id))||opts.inherit&&this.parent&&this.parent.parameter(id)},State.prototype.toString=function(){return this.fqn()},State}();exports.State=State},function(module,exports,__webpack_require__){"use strict";var common_1=__webpack_require__(3),predicates_1=__webpack_require__(4),queue_1=__webpack_require__(8),coreservices_1=__webpack_require__(6),pathFactory_1=__webpack_require__(20),node_1=__webpack_require__(21),transitionService_1=__webpack_require__(31),rejectFactory_1=__webpack_require__(10),targetState_1=__webpack_require__(14),param_1=__webpack_require__(22),glob_1=__webpack_require__(7),common_2=__webpack_require__(3),common_3=__webpack_require__(3),StateService=function(){function StateService(router){this.router=router,this._defaultErrorHandler=function($error$){$error$ instanceof Error&&$error$.stack?console.error($error$.stack):$error$ instanceof rejectFactory_1.Rejection?(console.error($error$),$error$.detail&&$error$.detail.stack&&console.error($error$.detail.stack)):console.error($error$)};var getters=["current","$current","params","transition"],boundFns=Object.keys(StateService.prototype).filter(function(key){return getters.indexOf(key)===-1});common_3.bindFunctions(StateService.prototype,this,this,boundFns)}return Object.defineProperty(StateService.prototype,"transition",{get:function(){return this.router.globals.transition},enumerable:!0,configurable:!0}),Object.defineProperty(StateService.prototype,"params",{get:function(){return this.router.globals.params},enumerable:!0,configurable:!0}),Object.defineProperty(StateService.prototype,"current",{get:function(){return this.router.globals.current},enumerable:!0,configurable:!0}),Object.defineProperty(StateService.prototype,"$current",{get:function(){return this.router.globals.$current},enumerable:!0,configurable:!0}),StateService.prototype._handleInvalidTargetState=function(fromPath,$to$){function invokeNextCallback(){var nextCallback=callbackQueue.dequeue();return void 0===nextCallback?rejectFactory_1.Rejection.invalid($to$.error()).toPromise():invokeCallback(nextCallback).then(checkForRedirect).then(function(result){return result||invokeNextCallback()})}var _this=this,globals=this.router.globals,latestThing=function(){return globals.transitionHistory.peekTail()},latest=latestThing(),$from$=pathFactory_1.PathFactory.makeTargetState(fromPath),callbackQueue=new queue_1.Queue([].concat(this.router.stateProvider.invalidCallbacks)),$q=coreservices_1.services.$q,$injector=coreservices_1.services.$injector,invokeCallback=function(callback){return $q.when($injector.invoke(callback,null,{$to$:$to$,$from$:$from$}))},checkForRedirect=function(result){if(result instanceof targetState_1.TargetState){var target=result;return target=_this.target(target.identifier(),target.params(),target.options()),target.valid()?latestThing()!==latest?rejectFactory_1.Rejection.superseded().toPromise():_this.transitionTo(target.identifier(),target.params(),target.options()):rejectFactory_1.Rejection.invalid(target.error()).toPromise()}};return invokeNextCallback()},StateService.prototype.reload=function(reloadState){return this.transitionTo(this.current,this.params,{reload:!predicates_1.isDefined(reloadState)||reloadState,inherit:!1,notify:!1})},StateService.prototype.go=function(to,params,options){var defautGoOpts={relative:this.$current,inherit:!0},transOpts=common_1.defaults(options,defautGoOpts,transitionService_1.defaultTransOpts);return this.transitionTo(to,params,transOpts)},StateService.prototype.target=function(identifier,params,options){if(void 0===options&&(options={}),predicates_1.isObject(options.reload)&&!options.reload.name)throw new Error("Invalid reload state object");var reg=this.router.stateRegistry;if(options.reloadState=options.reload===!0?reg.root():reg.matcher.find(options.reload,options.relative),options.reload&&!options.reloadState)throw new Error("No such reload state '"+(predicates_1.isString(options.reload)?options.reload:options.reload.name)+"'");var stateDefinition=reg.matcher.find(identifier,options.relative);return new targetState_1.TargetState(identifier,stateDefinition,params,options)},StateService.prototype.transitionTo=function(to,toParams,options){var _this=this;void 0===toParams&&(toParams={}),void 0===options&&(options={});var router=this.router,globals=router.globals,transHistory=globals.transitionHistory;options=common_1.defaults(options,transitionService_1.defaultTransOpts),options=common_1.extend(options,{current:transHistory.peekTail.bind(transHistory)});var ref=this.target(to,toParams,options),latestSuccess=globals.successfulTransitions.peekTail(),rootPath=function(){return[new node_1.PathNode(_this.router.stateRegistry.root())]},currentPath=latestSuccess?latestSuccess.treeChanges().to:rootPath();if(!ref.exists())return this._handleInvalidTargetState(currentPath,ref);if(!ref.valid())return common_1.silentRejection(ref.error());var rejectedTransitionHandler=function(transition){return function(error){if(error instanceof rejectFactory_1.Rejection){if(error.type===rejectFactory_1.RejectType.IGNORED)return router.urlRouter.update(),globals.current;if(error.type===rejectFactory_1.RejectType.SUPERSEDED&&error.redirected&&error.detail instanceof targetState_1.TargetState){var redirect=transition.redirect(error.detail);return redirect.run()["catch"](rejectedTransitionHandler(redirect))}if(error.type===rejectFactory_1.RejectType.ABORTED)return router.urlRouter.update(),coreservices_1.services.$q.reject(error)}var errorHandler=_this.defaultErrorHandler();return errorHandler(error),coreservices_1.services.$q.reject(error)}},transition=this.router.transitionService.create(currentPath,ref),transitionToPromise=transition.run()["catch"](rejectedTransitionHandler(transition));return common_1.silenceUncaughtInPromise(transitionToPromise),common_1.extend(transitionToPromise,{transition:transition})},StateService.prototype.is=function(stateOrName,params,options){options=common_1.defaults(options,{relative:this.$current});var state=this.router.stateRegistry.matcher.find(stateOrName,options.relative);if(predicates_1.isDefined(state))return this.$current===state&&(!predicates_1.isDefined(params)||null===params||param_1.Param.equals(state.parameters(),this.params,params))},StateService.prototype.includes=function(stateOrName,params,options){options=common_1.defaults(options,{relative:this.$current});var glob=predicates_1.isString(stateOrName)&&glob_1.Glob.fromString(stateOrName);if(glob){if(!glob.matches(this.$current.name))return!1;stateOrName=this.$current.name}var state=this.router.stateRegistry.matcher.find(stateOrName,options.relative),include=this.$current.includes;if(predicates_1.isDefined(state))return!!predicates_1.isDefined(include[state.name])&&(!params||common_2.equalForKeys(param_1.Param.values(state.parameters(),params),this.params,Object.keys(params)))},StateService.prototype.href=function(stateOrName,params,options){var defaultHrefOpts={lossy:!0,inherit:!0,absolute:!1,relative:this.$current};options=common_1.defaults(options,defaultHrefOpts);var state=this.router.stateRegistry.matcher.find(stateOrName,options.relative);if(!predicates_1.isDefined(state))return null;options.inherit&&(params=this.params.$inherit(params||{},this.$current,state));var nav=state&&options.lossy?state.navigable:state;return nav&&void 0!==nav.url&&null!==nav.url?this.router.urlRouter.href(nav.url,param_1.Param.values(state.parameters(),params),{absolute:options.absolute}):null},StateService.prototype.defaultErrorHandler=function(handler){return this._defaultErrorHandler=handler||this._defaultErrorHandler},StateService.prototype.get=function(stateOrName,base){var reg=this.router.stateRegistry;return 0===arguments.length?reg.get():reg.get(stateOrName,base||this.$current)},StateService}();exports.StateService=StateService},function(module,exports,__webpack_require__){"use strict";var stateParams_1=__webpack_require__(45),queue_1=__webpack_require__(8),common_1=__webpack_require__(3),Globals=function(){function Globals(transitionService){var _this=this;this.params=new stateParams_1.StateParams,this.transitionHistory=new queue_1.Queue([],1),this.successfulTransitions=new queue_1.Queue([],1);var beforeNewTransition=function($transition$){_this.transition=$transition$,_this.transitionHistory.enqueue($transition$);var updateGlobalState=function(){_this.successfulTransitions.enqueue($transition$),_this.$current=$transition$.$to(),_this.current=_this.$current.self,common_1.copy($transition$.params(),_this.params)};$transition$.onSuccess({},updateGlobalState,{priority:1e4});var clearCurrentTransition=function(){_this.transition===$transition$&&(_this.transition=null)};$transition$.promise.then(clearCurrentTransition,clearCurrentTransition)};transitionService.onBefore({},beforeNewTransition)}return Globals}();exports.Globals=Globals},function(module,exports,__webpack_require__){"use strict";var common_1=__webpack_require__(3),StateParams=function(){function StateParams(params){void 0===params&&(params={}),common_1.extend(this,params)}return StateParams.prototype.$inherit=function(newParams,$current,$to){var parentParams,parents=common_1.ancestors($current,$to),inherited={},inheritList=[];for(var i in parents)if(parents[i]&&parents[i].params&&(parentParams=Object.keys(parents[i].params),parentParams.length))for(var j in parentParams)inheritList.indexOf(parentParams[j])>=0||(inheritList.push(parentParams[j]),inherited[parentParams[j]]=this[parentParams[j]]);return common_1.extend({},inherited,newParams)},StateParams}();exports.StateParams=StateParams},function(module,exports,__webpack_require__){"use strict";function __export(m){for(var p in m)exports.hasOwnProperty(p)||(exports[p]=m[p])}__export(__webpack_require__(22)),__export(__webpack_require__(25)),__export(__webpack_require__(45)),__export(__webpack_require__(24))},function(module,exports,__webpack_require__){"use strict";function __export(m){for(var p in m)exports.hasOwnProperty(p)||(exports[p]=m[p])}__export(__webpack_require__(21)),__export(__webpack_require__(20))},function(module,exports,__webpack_require__){"use strict";function __export(m){for(var p in m)exports.hasOwnProperty(p)||(exports[p]=m[p])}__export(__webpack_require__(18)),__export(__webpack_require__(19)),__export(__webpack_require__(17))},function(module,exports,__webpack_require__){"use strict";function __export(m){for(var p in m)exports.hasOwnProperty(p)||(exports[p]=m[p])}__export(__webpack_require__(30)),__export(__webpack_require__(40)),__export(__webpack_require__(42)),__export(__webpack_require__(39)),__export(__webpack_require__(41)),__export(__webpack_require__(38)),__export(__webpack_require__(43)),__export(__webpack_require__(14))},function(module,exports,__webpack_require__){"use strict";function __export(m){for(var p in m)exports.hasOwnProperty(p)||(exports[p]=m[p])}__export(__webpack_require__(16)),__export(__webpack_require__(15)),__export(__webpack_require__(10)),__export(__webpack_require__(11)),__export(__webpack_require__(13)),__export(__webpack_require__(31))},function(module,exports,__webpack_require__){"use strict";function __export(m){for(var p in m)exports.hasOwnProperty(p)||(exports[p]=m[p])}__export(__webpack_require__(28)),__export(__webpack_require__(23)),__export(__webpack_require__(27)),__export(__webpack_require__(29))},function(module,exports,__webpack_require__){"use strict";function __export(m){for(var p in m)exports.hasOwnProperty(p)||(exports[p]=m[p])}__export(__webpack_require__(37))},function(module,exports,__webpack_require__){"use strict";function annotateController(controllerExpression){var $injector=coreservices_1.services.$injector,$controller=$injector.get("$controller"),oldInstantiate=$injector.instantiate;try{var deps_1;return $injector.instantiate=function(constructorFunction){$injector.instantiate=oldInstantiate,deps_1=$injector.annotate(constructorFunction)},$controller(controllerExpression,{$scope:{}}),deps_1}finally{$injector.instantiate=oldInstantiate}}function runBlock($injector,$q){coreservices_1.services.$injector=$injector,coreservices_1.services.$q=$q}function ng1UIRouter($locationProvider){function $get($location,$browser,$sniffer,$rootScope,$http,$templateCache){return $rootScope.$on("$locationChangeSuccess",function(evt){return urlListeners.forEach(function(fn){return fn(evt)})}),coreservices_1.services.locationConfig.html5Mode=function(){var html5Mode=$locationProvider.html5Mode();return html5Mode=predicates_1.isObject(html5Mode)?html5Mode.enabled:html5Mode,html5Mode&&$sniffer.history},coreservices_1.services.template.get=function(url){return $http.get(url,{cache:$templateCache,headers:{Accept:"text/html"}}).then(hof_1.prop("data"))},common_1.bindFunctions($location,coreservices_1.services.location,$location,["replace","url","path","search","hash"]),common_1.bindFunctions($location,coreservices_1.services.locationConfig,$location,["port","protocol","host"]),common_1.bindFunctions($browser,coreservices_1.services.locationConfig,$browser,["baseHref"]),router}router=new router_1.UIRouter,router.stateRegistry.decorator("views",views_1.ng1ViewsBuilder),router.stateRegistry.decorator("onExit",onEnterExitRetain_1.getStateHookBuilder("onExit")),router.stateRegistry.decorator("onRetain",onEnterExitRetain_1.getStateHookBuilder("onRetain")),router.stateRegistry.decorator("onEnter",onEnterExitRetain_1.getStateHookBuilder("onEnter")),router.viewService.viewConfigFactory("ng1",views_1.ng1ViewConfigFactory),common_1.bindFunctions($locationProvider,coreservices_1.services.locationConfig,$locationProvider,["hashPrefix"]);var urlListeners=[];coreservices_1.services.location.onChange=function(callback){return urlListeners.push(callback),function(){return common_1.removeFrom(urlListeners)(callback)}},this.$get=$get,$get.$inject=["$location","$browser","$sniffer","$rootScope","$http","$templateCache"]}function getUrlRouterProvider(){return router.urlRouterProvider.$get=function(){return router.urlRouter.update(!0),this.interceptDeferred||router.urlRouter.listen(),router.urlRouter},router.urlRouterProvider}function getStateProvider(){return router.stateProvider.$get=function(){return router.stateRegistry.stateQueue.autoFlush(router.stateService),router.stateService},router.stateProvider}function getTransitionsProvider(){return router.transitionService.$get=function(){return router.transitionService},router.transitionService}function watchDigests($rootScope){$rootScope.$watch(function(){trace_1.trace.approximateDigests++})}var router_1=__webpack_require__(26),coreservices_1=__webpack_require__(6),common_1=__webpack_require__(3),hof_1=__webpack_require__(5),predicates_1=__webpack_require__(4),resolveService_1=__webpack_require__(54),trace_1=__webpack_require__(12),views_1=__webpack_require__(55),templateFactory_1=__webpack_require__(56),onEnterExitRetain_1=__webpack_require__(57),app=angular.module("ui.router.angular1",[]);angular.module("ui.router.util",["ng","ui.router.init"]),angular.module("ui.router.router",["ui.router.util"]),angular.module("ui.router.state",["ui.router.router","ui.router.util","ui.router.angular1"]),angular.module("ui.router",["ui.router.init","ui.router.state","ui.router.angular1"]),angular.module("ui.router.compat",["ui.router"]),exports.annotateController=annotateController,runBlock.$inject=["$injector","$q"],app.run(runBlock);var router=null;ng1UIRouter.$inject=["$locationProvider"],angular.module("ui.router.init",[]).provider("ng1UIRouter",ng1UIRouter),angular.module("ui.router.init").run(["ng1UIRouter",function(ng1UIRouter){}]),angular.module("ui.router.util").provider("$urlMatcherFactory",["ng1UIRouterProvider",function(){return router.urlMatcherFactory}]),angular.module("ui.router.util").run(["$urlMatcherFactory",function($urlMatcherFactory){}]),angular.module("ui.router.router").provider("$urlRouter",["ng1UIRouterProvider",getUrlRouterProvider]),angular.module("ui.router.router").run(["$urlRouter",function($urlRouter){}]),angular.module("ui.router.state").provider("$state",["ng1UIRouterProvider",getStateProvider]),angular.module("ui.router.state").run(["$state",function($state){}]),angular.module("ui.router.state").factory("$stateParams",["ng1UIRouter",function(ng1UIRouter){return ng1UIRouter.globals.params}]),angular.module("ui.router.state").provider("$transitions",["ng1UIRouterProvider",getTransitionsProvider]),angular.module("ui.router.util").factory("$templateFactory",["ng1UIRouter",function(){return new templateFactory_1.TemplateFactory}]),angular.module("ui.router").factory("$view",function(){return router.viewService}),angular.module("ui.router").factory("$resolve",resolveService_1.resolveFactory),angular.module("ui.router").service("$trace",function(){return trace_1.trace}),watchDigests.$inject=["$rootScope"],exports.watchDigests=watchDigests,angular.module("ui.router").run(watchDigests),exports.getLocals=function(ctx){var tokens=ctx.getTokens().filter(predicates_1.isString),tuples=tokens.map(function(key){return[key,ctx.getResolvable(key).data]});return tuples.reduce(common_1.applyPairs,{})}},function(module,exports,__webpack_require__){"use strict";var stateObject_1=__webpack_require__(42),node_1=__webpack_require__(21),resolveContext_1=__webpack_require__(17),common_1=__webpack_require__(3),stateBuilder_1=__webpack_require__(40),$resolve={resolve:function(invocables,locals,parent){void 0===locals&&(locals={});var parentNode=new node_1.PathNode(new stateObject_1.State({params:{},resolvables:[]})),node=new node_1.PathNode(new stateObject_1.State({params:{},resolvables:[]})),context=new resolveContext_1.ResolveContext([parentNode,node]);context.addResolvables(stateBuilder_1.resolvablesBuilder({resolve:invocables}),node.state);var resolveData=function(parentLocals){var rewrap=function(_locals){return stateBuilder_1.resolvablesBuilder({resolve:common_1.map(_locals,function(local){return function(){return local}})})};context.addResolvables(rewrap(parentLocals),parentNode.state),context.addResolvables(rewrap(locals),node.state);var tuples2ObjR=function(acc,tuple){return acc[tuple.token]=tuple.value,acc};return context.resolvePath().then(function(results){return results.reduce(tuples2ObjR,{})})};return parent?parent.then(resolveData):resolveData({})}};exports.resolveFactory=function(){return $resolve}},function(module,exports,__webpack_require__){"use strict";function ng1ViewsBuilder(state){var tplKeys=["templateProvider","templateUrl","template","notify","async"],ctrlKeys=["controller","controllerProvider","controllerAs","resolveAs"],compKeys=["component","bindings"],nonCompKeys=tplKeys.concat(ctrlKeys),allKeys=compKeys.concat(nonCompKeys),views={},viewsObject=state.views||{$default:common_1.pick(state,allKeys)};return common_1.forEach(viewsObject,function(config,name){if(name=name||"$default",predicates_1.isString(config)&&(config={component:config}),Object.keys(config).length){if(config.component){if(nonCompKeys.map(function(key){return predicates_1.isDefined(config[key])}).reduce(common_1.anyTrueR,!1))throw new Error("Cannot combine: "+compKeys.join("|")+" with: "+nonCompKeys.join("|")+" in stateview: 'name@"+state.name+"'");config.templateProvider=["$injector",function($injector){var resolveFor=function(key){return config.bindings&&config.bindings[key]||key},prefix=angular.version.minor>=3?"::":"",attributeTpl=function(input){var attrName=strings_1.kebobString(input.name),resolveName=resolveFor(input.name);return"@"===input.type?attrName+"='{{"+prefix+"$resolve."+resolveName+"}}'":attrName+"='"+prefix+"$resolve."+resolveName+"'"},attrs=getComponentInputs($injector,config.component).map(attributeTpl).join(" "),kebobName=strings_1.kebobString(config.component);return"<"+kebobName+" "+attrs+"></"+kebobName+">"}]}config.resolveAs=config.resolveAs||"$resolve",config.$type="ng1",config.$context=state,config.$name=name;var normalized=view_1.ViewService.normalizeUIViewTarget(config.$context,config.$name);config.$uiViewName=normalized.uiViewName,config.$uiViewContextAnchor=normalized.uiViewContextAnchor,views[name]=config}}),views}function getComponentInputs($injector,name){var cmpDefs=$injector.get(name+"Directive");if(!cmpDefs||!cmpDefs.length)throw new Error("Unable to find component named '"+name+"'");return cmpDefs.map(getBindings).reduce(common_1.unnestR,[])}var common_1=__webpack_require__(3),strings_1=__webpack_require__(9),view_1=__webpack_require__(37),predicates_1=__webpack_require__(4),coreservices_1=__webpack_require__(6),trace_1=__webpack_require__(12),templateFactory_1=__webpack_require__(56),resolveContext_1=__webpack_require__(17),resolvable_1=__webpack_require__(19);exports.ng1ViewConfigFactory=function(path,view){return new Ng1ViewConfig(path,view)},exports.ng1ViewsBuilder=ng1ViewsBuilder;var scopeBindings=function(bindingsObj){return Object.keys(bindingsObj||{}).map(function(key){return[key,/^([=<@])[?]?(.*)/.exec(bindingsObj[key])]}).filter(function(tuple){return predicates_1.isDefined(tuple)&&predicates_1.isDefined(tuple[1])}).map(function(tuple){return{name:tuple[1][2]||tuple[0],type:tuple[1][1]}})},getBindings=function(def){return scopeBindings(predicates_1.isObject(def.bindToController)?def.bindToController:def.scope)},id=0,Ng1ViewConfig=function(){function Ng1ViewConfig(path,viewDecl){this.path=path,this.viewDecl=viewDecl,this.$id=id++,this.loaded=!1}return Ng1ViewConfig.prototype.load=function(){var _this=this,$q=coreservices_1.services.$q;if(!this.hasTemplate())throw new Error("No template configuration specified for '"+this.viewDecl.$uiViewName+"@"+this.viewDecl.$uiViewContextAnchor+"'");var context=new resolveContext_1.ResolveContext(this.path),params=this.path.reduce(function(acc,node){
+return common_1.extend(acc,node.paramValues)},{}),promises={template:$q.when(this.getTemplate(params,new templateFactory_1.TemplateFactory,context)),controller:$q.when(this.getController(context))};return $q.all(promises).then(function(results){trace_1.trace.traceViewServiceEvent("Loaded",_this),_this.controller=results.controller,_this.template=results.template})},Ng1ViewConfig.prototype.hasTemplate=function(){return!!(this.viewDecl.template||this.viewDecl.templateUrl||this.viewDecl.templateProvider)},Ng1ViewConfig.prototype.getTemplate=function(params,$factory,context){return $factory.fromConfig(this.viewDecl,params,context)},Ng1ViewConfig.prototype.getController=function(context){var provider=this.viewDecl.controllerProvider;if(!predicates_1.isInjectable(provider))return this.viewDecl.controller;var deps=coreservices_1.services.$injector.annotate(provider),providerFn=predicates_1.isArray(provider)?common_1.tail(provider):provider,resolvable=new resolvable_1.Resolvable("",providerFn,deps);return resolvable.get(context)},Ng1ViewConfig}();exports.Ng1ViewConfig=Ng1ViewConfig},function(module,exports,__webpack_require__){"use strict";var predicates_1=__webpack_require__(4),coreservices_1=__webpack_require__(6),common_1=__webpack_require__(3),resolvable_1=__webpack_require__(19),TemplateFactory=function(){function TemplateFactory(){}return TemplateFactory.prototype.fromConfig=function(config,params,context){return predicates_1.isDefined(config.template)?this.fromString(config.template,params):predicates_1.isDefined(config.templateUrl)?this.fromUrl(config.templateUrl,params):predicates_1.isDefined(config.templateProvider)?this.fromProvider(config.templateProvider,params,context):null},TemplateFactory.prototype.fromString=function(template,params){return predicates_1.isFunction(template)?template(params):template},TemplateFactory.prototype.fromUrl=function(url,params){return predicates_1.isFunction(url)&&(url=url(params)),null==url?null:coreservices_1.services.template.get(url)},TemplateFactory.prototype.fromProvider=function(provider,params,context){var deps=coreservices_1.services.$injector.annotate(provider),providerFn=predicates_1.isArray(provider)?common_1.tail(provider):provider,resolvable=new resolvable_1.Resolvable("",providerFn,deps);return resolvable.get(context)},TemplateFactory}();exports.TemplateFactory=TemplateFactory},function(module,exports,__webpack_require__){"use strict";var coreservices_1=__webpack_require__(6),services_1=__webpack_require__(53),resolveContext_1=__webpack_require__(17),common_1=__webpack_require__(3);exports.getStateHookBuilder=function(hookName){return function(state,parentFn){function decoratedNg1Hook(trans,state){var resolveContext=new resolveContext_1.ResolveContext(trans.treeChanges().to);return coreservices_1.services.$injector.invoke(hook,this,common_1.extend({$state$:state},services_1.getLocals(resolveContext)))}var hook=state[hookName];return hook?decoratedNg1Hook:void 0}}},function(module,exports,__webpack_require__){"use strict";function parseStateRef(ref,current){var parsed,preparsed=ref.match(/^\s*({[^}]*})\s*$/);if(preparsed&&(ref=current+"("+preparsed[1]+")"),parsed=ref.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/),!parsed||4!==parsed.length)throw new Error("Invalid state ref '"+ref+"'");return{state:parsed[1],paramExpr:parsed[3]||null}}function stateContext(el){var $uiView=el.parent().inheritedData("$uiView"),path=hof_1.parse("$cfg.path")($uiView);return path?common_1.tail(path).state.name:void 0}function getTypeInfo(el){var isSvg="[object SVGAnimatedString]"===Object.prototype.toString.call(el.prop("href")),isForm="FORM"===el[0].nodeName;return{attr:isForm?"action":isSvg?"xlink:href":"href",isAnchor:"A"===el.prop("tagName").toUpperCase(),clickable:!isForm}}function clickHook(el,$state,$timeout,type,current){return function(e){var button=e.which||e.button,target=current();if(!(button>1||e.ctrlKey||e.metaKey||e.shiftKey||el.attr("target"))){var transition=$timeout(function(){$state.go(target.state,target.params,target.options)});e.preventDefault();var ignorePreventDefaultCount=type.isAnchor&&!target.href?1:0;e.preventDefault=function(){ignorePreventDefaultCount--<=0&&$timeout.cancel(transition)}}}}function defaultOpts(el,$state){return{relative:stateContext(el)||$state.$current,inherit:!0}}var common_1=__webpack_require__(3),predicates_1=__webpack_require__(4),hof_1=__webpack_require__(5),uiSref=["$state","$timeout",function($state,$timeout){return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(scope,element,attrs,uiSrefActive){var ref=parseStateRef(attrs.uiSref,$state.current.name),def={state:ref.state,href:null,params:null,options:null},type=getTypeInfo(element),active=uiSrefActive[1]||uiSrefActive[0],unlinkInfoFn=null;def.options=common_1.extend(defaultOpts(element,$state),attrs.uiSrefOpts?scope.$eval(attrs.uiSrefOpts):{});var update=function(val){val&&(def.params=angular.copy(val)),def.href=$state.href(ref.state,def.params,def.options),unlinkInfoFn&&unlinkInfoFn(),active&&(unlinkInfoFn=active.$$addStateInfo(ref.state,def.params)),null!==def.href&&attrs.$set(type.attr,def.href)};ref.paramExpr&&(scope.$watch(ref.paramExpr,function(val){val!==def.params&&update(val)},!0),def.params=angular.copy(scope.$eval(ref.paramExpr))),update(),type.clickable&&element.bind("click",clickHook(element,$state,$timeout,type,function(){return def}))}}}],uiState=["$state","$timeout",function($state,$timeout){return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(scope,element,attrs,uiSrefActive){function runStateRefLink(group){def.state=group[0],def.params=group[1],def.options=group[2],def.href=$state.href(def.state,def.params,def.options),unlinkInfoFn&&unlinkInfoFn(),active&&(unlinkInfoFn=active.$$addStateInfo(def.state,def.params)),def.href&&attrs.$set(type.attr,def.href)}var type=getTypeInfo(element),active=uiSrefActive[1]||uiSrefActive[0],group=[attrs.uiState,attrs.uiStateParams||null,attrs.uiStateOpts||null],watch="["+group.map(function(val){return val||"null"}).join(", ")+"]",def={state:null,params:null,options:null,href:null},unlinkInfoFn=null;scope.$watch(watch,runStateRefLink,!0),runStateRefLink(scope.$eval(watch)),type.clickable&&element.bind("click",clickHook(element,$state,$timeout,type,function(){return def}))}}}],uiSrefActive=["$state","$stateParams","$interpolate","$transitions",function($state,$stateParams,$interpolate,$transitions){return{restrict:"A",controller:["$scope","$element","$attrs","$timeout",function($scope,$element,$attrs,$timeout){function addState(stateName,stateParams,activeClass){var state=$state.get(stateName,stateContext($element)),stateHash=createStateHash(stateName,stateParams),stateInfo={state:state||{name:stateName},params:stateParams,hash:stateHash};return states.push(stateInfo),activeClasses[stateHash]=activeClass,function(){var idx=states.indexOf(stateInfo);idx!==-1&&states.splice(idx,1)}}function createStateHash(state,params){if(!predicates_1.isString(state))throw new Error("state should be a string");return predicates_1.isObject(params)?state+common_1.toJson(params):(params=$scope.$eval(params),predicates_1.isObject(params)?state+common_1.toJson(params):state)}function update(){for(var i=0;i<states.length;i++)anyMatch(states[i].state,states[i].params)?addClass($element,activeClasses[states[i].hash]):removeClass($element,activeClasses[states[i].hash]),exactMatch(states[i].state,states[i].params)?addClass($element,activeEqClass):removeClass($element,activeEqClass)}function addClass(el,className){$timeout(function(){el.addClass(className)})}function removeClass(el,className){el.removeClass(className)}function anyMatch(state,params){return $state.includes(state.name,params)}function exactMatch(state,params){return $state.is(state.name,params)}var activeEqClass,uiSrefActive,states=[],activeClasses={};activeEqClass=$interpolate($attrs.uiSrefActiveEq||"",!1)($scope);try{uiSrefActive=$scope.$eval($attrs.uiSrefActive)}catch(e){}uiSrefActive=uiSrefActive||$interpolate($attrs.uiSrefActive||"",!1)($scope),predicates_1.isObject(uiSrefActive)&&common_1.forEach(uiSrefActive,function(stateOrName,activeClass){if(predicates_1.isString(stateOrName)){var ref=parseStateRef(stateOrName,$state.current.name);addState(ref.state,$scope.$eval(ref.paramExpr),activeClass)}}),this.$$addStateInfo=function(newState,newParams){if(!(predicates_1.isObject(uiSrefActive)&&states.length>0)){var deregister=addState(newState,newParams,uiSrefActive);return update(),deregister}},$scope.$on("$stateChangeSuccess",update),$scope.$on("$destroy",$transitions.onStart({},function(trans){return trans.promise.then(update)&&null})),update()}]}}];angular.module("ui.router.state").directive("uiSref",uiSref).directive("uiSrefActive",uiSrefActive).directive("uiSrefActiveEq",uiSrefActive).directive("uiState",uiState)},function(module,exports){"use strict";function $IsStateFilter($state){var isFilter=function(state,params,options){return $state.is(state,params,options)};return isFilter.$stateful=!0,isFilter}function $IncludedByStateFilter($state){var includesFilter=function(state,params,options){return $state.includes(state,params,options)};return includesFilter.$stateful=!0,includesFilter}$IsStateFilter.$inject=["$state"],exports.$IsStateFilter=$IsStateFilter,$IncludedByStateFilter.$inject=["$state"],exports.$IncludedByStateFilter=$IncludedByStateFilter,angular.module("ui.router.state").filter("isState",$IsStateFilter).filter("includedByState",$IncludedByStateFilter)},function(module,exports,__webpack_require__){"use strict";function $ViewDirectiveFill($compile,$controller,$transitions,$view,$timeout){var getControllerAs=hof_1.parse("viewDecl.controllerAs"),getResolveAs=hof_1.parse("viewDecl.resolveAs");return{restrict:"ECA",priority:-400,compile:function(tElement){var initial=tElement.html();return function(scope,$element){var data=$element.data("$uiView");if(data){var cfg=data.$cfg||{viewDecl:{}};$element.html(cfg.template||initial),trace_1.trace.traceUIViewFill(data.$uiView,$element.html());var link=$compile($element.contents()),controller=cfg.controller,controllerAs=getControllerAs(cfg),resolveAs=getResolveAs(cfg),resolveCtx=cfg.path&&new resolveContext_1.ResolveContext(cfg.path),locals=resolveCtx&&services_1.getLocals(resolveCtx);if(scope[resolveAs]=locals,controller){var controllerInstance=$controller(controller,common_1.extend({},locals,{$scope:scope,$element:$element}));controllerAs&&(scope[controllerAs]=controllerInstance,scope[controllerAs][resolveAs]=locals),$element.data("$ngControllerController",controllerInstance),$element.children().data("$ngControllerController",controllerInstance),registerControllerCallbacks($transitions,controllerInstance,scope,cfg)}if(predicates_1.isString(cfg.viewDecl.component))var cmp_1=cfg.viewDecl.component,kebobName_1=strings_1.kebobString(cmp_1),getComponentController=function(){var directiveEl=[].slice.call($element[0].children).filter(function(el){return el&&el.tagName&&el.tagName.toLowerCase()===kebobName_1});return directiveEl&&angular.element(directiveEl).data("$"+cmp_1+"Controller")},deregisterWatch_1=scope.$watch(getComponentController,function(ctrlInstance){ctrlInstance&&(registerControllerCallbacks($transitions,ctrlInstance,scope,cfg),deregisterWatch_1())});link(scope)}}}}}function registerControllerCallbacks($transitions,controllerInstance,$scope,cfg){!predicates_1.isFunction(controllerInstance.$onInit)||cfg.viewDecl.component&&hasComponentImpl||controllerInstance.$onInit();var viewState=common_1.tail(cfg.path).state.self,hookOptions={bind:controllerInstance};if(predicates_1.isFunction(controllerInstance.uiOnParamsChanged)){var resolveContext=new resolveContext_1.ResolveContext(cfg.path),viewCreationTrans_1=resolveContext.getResolvable("$transition$").data,paramsUpdated=function($transition$){if($transition$!==viewCreationTrans_1&&$transition$.exiting().indexOf(viewState)===-1){var toParams=$transition$.params("to"),fromParams=$transition$.params("from"),toSchema=$transition$.treeChanges().to.map(function(node){return node.paramSchema}).reduce(common_1.unnestR,[]),fromSchema=$transition$.treeChanges().from.map(function(node){return node.paramSchema}).reduce(common_1.unnestR,[]),changedToParams=toSchema.filter(function(param){var idx=fromSchema.indexOf(param);return idx===-1||!fromSchema[idx].type.equals(toParams[param.id],fromParams[param.id])});if(changedToParams.length){var changedKeys_1=changedToParams.map(function(x){return x.id});controllerInstance.uiOnParamsChanged(common_1.filter(toParams,function(val,key){return changedKeys_1.indexOf(key)!==-1}),$transition$)}}};$scope.$on("$destroy",$transitions.onSuccess({},paramsUpdated,hookOptions))}if(predicates_1.isFunction(controllerInstance.uiCanExit)){var criteria={exiting:viewState.name};$scope.$on("$destroy",$transitions.onBefore(criteria,controllerInstance.uiCanExit,hookOptions))}}var common_1=__webpack_require__(3),predicates_1=__webpack_require__(4),trace_1=__webpack_require__(12),views_1=__webpack_require__(55),hof_1=__webpack_require__(5),resolveContext_1=__webpack_require__(17),strings_1=__webpack_require__(9),services_1=__webpack_require__(53),uiView=["$view","$animate","$uiViewScroll","$interpolate","$q",function($view,$animate,$uiViewScroll,$interpolate,$q){function getRenderer(attrs,scope){return{enter:function(element,target,cb){angular.version.minor>2?$animate.enter(element,null,target).then(cb):$animate.enter(element,null,target,cb)},leave:function(element,cb){angular.version.minor>2?$animate.leave(element).then(cb):$animate.leave(element,cb)}}}function configsEqual(config1,config2){return config1===config2}var rootData={$cfg:{viewDecl:{$context:$view.rootContext()}},$uiView:{}},directive={count:0,restrict:"ECA",terminal:!0,priority:400,transclude:"element",compile:function(tElement,tAttrs,$transclude){return function(scope,$element,attrs){function configUpdatedCallback(config){(!config||config instanceof views_1.Ng1ViewConfig)&&(configsEqual(viewConfig,config)||(trace_1.trace.traceUIViewConfigUpdated(activeUIView,config&&config.viewDecl&&config.viewDecl.$context),viewConfig=config,updateView(config)))}function cleanupLastView(){if(previousEl&&(trace_1.trace.traceUIViewEvent("Removing (previous) el",previousEl.data("$uiView")),previousEl.remove(),previousEl=null),currentScope&&(trace_1.trace.traceUIViewEvent("Destroying scope",activeUIView),currentScope.$destroy(),currentScope=null),currentEl){var _viewData_1=currentEl.data("$uiView");trace_1.trace.traceUIViewEvent("Animate out",_viewData_1),renderer.leave(currentEl,function(){_viewData_1.$$animLeave.resolve(),previousEl=null}),previousEl=currentEl,currentEl=null}}function updateView(config){var newScope=scope.$new();trace_1.trace.traceUIViewScopeCreated(activeUIView,newScope);var animEnter=$q.defer(),animLeave=$q.defer(),$uiViewData={$cfg:config,$uiView:activeUIView,$animEnter:animEnter.promise,$animLeave:animLeave.promise,$$animLeave:animLeave},cloned=$transclude(newScope,function(clone){renderer.enter(clone.data("$uiView",$uiViewData),$element,function(){animEnter.resolve(),currentScope&&currentScope.$emit("$viewContentAnimationEnded"),(predicates_1.isDefined(autoScrollExp)&&!autoScrollExp||scope.$eval(autoScrollExp))&&$uiViewScroll(clone)}),cleanupLastView()});currentEl=cloned,currentScope=newScope,currentScope.$emit("$viewContentLoaded",config||viewConfig),currentScope.$eval(onloadExp)}var previousEl,currentEl,currentScope,unregister,onloadExp=attrs.onload||"",autoScrollExp=attrs.autoscroll,renderer=getRenderer(attrs,scope),viewConfig=void 0,inherited=$element.inheritedData("$uiView")||rootData,name=$interpolate(attrs.uiView||attrs.name||"")(scope)||"$default",activeUIView={$type:"ng1",id:directive.count++,name:name,fqn:inherited.$uiView.fqn?inherited.$uiView.fqn+"."+name:name,config:null,configUpdated:configUpdatedCallback,get creationContext(){return hof_1.parse("$cfg.viewDecl.$context")(inherited)}};trace_1.trace.traceUIViewEvent("Linking",activeUIView),$element.data("$uiView",{$uiView:activeUIView}),updateView(),unregister=$view.registerUIView(activeUIView),scope.$on("$destroy",function(){trace_1.trace.traceUIViewEvent("Destroying/Unregistering",activeUIView),unregister()})}}};return directive}];$ViewDirectiveFill.$inject=["$compile","$controller","$transitions","$view","$timeout"];var hasComponentImpl="function"==typeof angular.module("ui.router").component;angular.module("ui.router.state").directive("uiView",uiView),angular.module("ui.router.state").directive("uiView",$ViewDirectiveFill)},function(module,exports){"use strict";function $ViewScrollProvider(){var useAnchorScroll=!1;this.useAnchorScroll=function(){useAnchorScroll=!0},this.$get=["$anchorScroll","$timeout",function($anchorScroll,$timeout){return useAnchorScroll?$anchorScroll:function($element){return $timeout(function(){$element[0].scrollIntoView()},0,!1)}}]}angular.module("ui.router.state").provider("$uiViewScroll",$ViewScrollProvider)}])})},function(module,exports,__webpack_require__){__webpack_require__(131),module.exports=angular},function(module,exports,__webpack_require__){function hasPort(host){return!!~host.indexOf(":")}var common=exports,url=__webpack_require__(44),extend=__webpack_require__(69)._extend,required=__webpack_require__(150),upgradeHeader=/(^|,)\s*upgrade\s*($|,)/i,isSSL=/^https|wss/,cookieDomainRegex=/(;\s*domain=)([^;]+)/i;common.isSSL=isSSL,common.setupOutgoing=function(outgoing,options,req,forward){outgoing.port=options[forward||"target"].port||(isSSL.test(options[forward||"target"].protocol)?443:80),["host","hostname","socketPath","pfx","key","passphrase","cert","ca","ciphers","secureProtocol"].forEach(function(e){outgoing[e]=options[forward||"target"][e]}),outgoing.method=req.method,outgoing.headers=extend({},req.headers),options.headers&&extend(outgoing.headers,options.headers),options.auth&&(outgoing.auth=options.auth),options.ca&&(outgoing.ca=options.ca),isSSL.test(options[forward||"target"].protocol)&&(outgoing.rejectUnauthorized="undefined"==typeof options.secure||options.secure),outgoing.agent=options.agent||!1,outgoing.localAddress=options.localAddress,outgoing.agent||(outgoing.headers=outgoing.headers||{},"string"==typeof outgoing.headers.connection&&upgradeHeader.test(outgoing.headers.connection)||(outgoing.headers.connection="close"));var target=options[forward||"target"],targetPath=target&&options.prependPath!==!1?target.path||"":"",outgoingPath=options.toProxy?req.url:url.parse(req.url).path||"";return outgoingPath=options.ignorePath?"":outgoingPath,outgoing.path=common.urlJoin(targetPath,outgoingPath),options.changeOrigin&&(outgoing.headers.host=required(outgoing.port,options[forward||"target"].protocol)&&!hasPort(outgoing.host)?outgoing.host+":"+outgoing.port:outgoing.host),outgoing},common.setupSocket=function(socket){return socket.setTimeout(0),socket.setNoDelay(!0),socket.setKeepAlive(!0,0),socket},common.getPort=function(req){var res=req.headers.host?req.headers.host.match(/:(\d+)/):"";return res?res[1]:common.hasEncryptedConnection(req)?"443":"80"},common.hasEncryptedConnection=function(req){return Boolean(req.connection.encrypted||req.connection.pair)},common.urlJoin=function(){var retSegs,args=Array.prototype.slice.call(arguments),lastIndex=args.length-1,last=args[lastIndex],lastSegs=last.split("?");return args[lastIndex]=lastSegs.shift(),retSegs=[args.filter(Boolean).join("/").replace(/\/+/g,"/").replace("http:/","http://").replace("https:/","https://")],retSegs.push.apply(retSegs,lastSegs),retSegs.join("?")},common.rewriteCookieDomain=function rewriteCookieDomain(header,config){return Array.isArray(header)?header.map(function(headerElement){return rewriteCookieDomain(headerElement,config)}):header.replace(cookieDomainRegex,function(match,prefix,previousDomain){var newDomain;if(previousDomain in config)newDomain=config[previousDomain];else{if(!("*"in config))return match;newDomain=config["*"]}return newDomain?prefix+newDomain:""})}},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subject_1=__webpack_require__(6),queue_1=__webpack_require__(89),Subscription_1=__webpack_require__(5),observeOn_1=__webpack_require__(55),ObjectUnsubscribedError_1=__webpack_require__(36),SubjectSubscription_1=__webpack_require__(72),ReplaySubject=function(_super){function ReplaySubject(bufferSize,windowTime,scheduler){void 0===bufferSize&&(bufferSize=Number.POSITIVE_INFINITY),void 0===windowTime&&(windowTime=Number.POSITIVE_INFINITY),_super.call(this),this.scheduler=scheduler,this._events=[],this._bufferSize=bufferSize<1?1:bufferSize,this._windowTime=windowTime<1?1:windowTime}return __extends(ReplaySubject,_super),ReplaySubject.prototype.next=function(value){var now=this._getNow();this._events.push(new ReplayEvent(now,value)),this._trimBufferThenGetEvents(),_super.prototype.next.call(this,value)},ReplaySubject.prototype._subscribe=function(subscriber){var subscription,_events=this._trimBufferThenGetEvents(),scheduler=this.scheduler;if(this.closed)throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError;this.hasError?subscription=Subscription_1.Subscription.EMPTY:this.isStopped?subscription=Subscription_1.Subscription.EMPTY:(this.observers.push(subscriber),subscription=new SubjectSubscription_1.SubjectSubscription(this,subscriber)),scheduler&&subscriber.add(subscriber=new observeOn_1.ObserveOnSubscriber(subscriber,scheduler));for(var len=_events.length,i=0;i<len&&!subscriber.closed;i++)subscriber.next(_events[i].value);return this.hasError?subscriber.error(this.thrownError):this.isStopped&&subscriber.complete(),subscription},ReplaySubject.prototype._getNow=function(){return(this.scheduler||queue_1.queue).now()},ReplaySubject.prototype._trimBufferThenGetEvents=function(){for(var now=this._getNow(),_bufferSize=this._bufferSize,_windowTime=this._windowTime,_events=this._events,eventsCount=_events.length,spliceCount=0;spliceCount<eventsCount&&!(now-_events[spliceCount].time<_windowTime);)spliceCount++;return eventsCount>_bufferSize&&(spliceCount=Math.max(spliceCount,eventsCount-_bufferSize)),spliceCount>0&&_events.splice(0,spliceCount),_events},ReplaySubject}(Subject_1.Subject);exports.ReplaySubject=ReplaySubject;var ReplayEvent=function(){function ReplayEvent(time,value){this.time=time,this.value=value}return ReplayEvent}()},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),ScalarObservable=function(_super){function ScalarObservable(value,scheduler){_super.call(this),this.value=value,this.scheduler=scheduler,this._isScalar=!0,scheduler&&(this._isScalar=!1)}return __extends(ScalarObservable,_super),ScalarObservable.create=function(value,scheduler){return new ScalarObservable(value,scheduler)},ScalarObservable.dispatch=function(state){var done=state.done,value=state.value,subscriber=state.subscriber;return done?void subscriber.complete():(subscriber.next(value),void(subscriber.closed||(state.done=!0,this.schedule(state))))},ScalarObservable.prototype._subscribe=function(subscriber){var value=this.value,scheduler=this.scheduler;return scheduler?scheduler.schedule(ScalarObservable.dispatch,0,{done:!1,value:value,subscriber:subscriber}):(subscriber.next(value),void(subscriber.closed||subscriber.complete()))},ScalarObservable}(Observable_1.Observable);exports.ScalarObservable=ScalarObservable},function(module,exports,__webpack_require__){"use strict";function combineLatest(){for(var observables=[],_i=0;_i<arguments.length;_i++)observables[_i-0]=arguments[_i];var project=null;return"function"==typeof observables[observables.length-1]&&(project=observables.pop()),1===observables.length&&isArray_1.isArray(observables[0])&&(observables=observables[0].slice()),observables.unshift(this),this.lift.call(new ArrayObservable_1.ArrayObservable(observables),new CombineLatestOperator(project))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},ArrayObservable_1=__webpack_require__(13),isArray_1=__webpack_require__(14),OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3),none={};exports.combineLatest=combineLatest;var CombineLatestOperator=function(){function CombineLatestOperator(project){this.project=project}return CombineLatestOperator.prototype.call=function(subscriber,source){return source.subscribe(new CombineLatestSubscriber(subscriber,this.project))},CombineLatestOperator}();exports.CombineLatestOperator=CombineLatestOperator;var CombineLatestSubscriber=function(_super){function CombineLatestSubscriber(destination,project){_super.call(this,destination),this.project=project,this.active=0,this.values=[],this.observables=[]}return __extends(CombineLatestSubscriber,_super),CombineLatestSubscriber.prototype._next=function(observable){this.values.push(none),this.observables.push(observable)},CombineLatestSubscriber.prototype._complete=function(){var observables=this.observables,len=observables.length;if(0===len)this.destination.complete();else{this.active=len,this.toRespond=len;for(var i=0;i<len;i++){var observable=observables[i];this.add(subscribeToResult_1.subscribeToResult(this,observable,observable,i))}}},CombineLatestSubscriber.prototype.notifyComplete=function(unused){0===(this.active-=1)&&this.destination.complete()},CombineLatestSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){var values=this.values,oldVal=values[outerIndex],toRespond=this.toRespond?oldVal===none?--this.toRespond:this.toRespond:0;values[outerIndex]=innerValue,0===toRespond&&(this.project?this._tryProject(values):this.destination.next(values.slice()))},CombineLatestSubscriber.prototype._tryProject=function(values){var result;try{result=this.project.apply(this,values)}catch(err){return void this.destination.error(err)}this.destination.next(result)},CombineLatestSubscriber}(OuterSubscriber_1.OuterSubscriber);exports.CombineLatestSubscriber=CombineLatestSubscriber},function(module,exports,__webpack_require__){"use strict";function concat(){for(var observables=[],_i=0;_i<arguments.length;_i++)observables[_i-0]=arguments[_i];return this.lift.call(concatStatic.apply(void 0,[this].concat(observables)))}function concatStatic(){for(var observables=[],_i=0;_i<arguments.length;_i++)observables[_i-0]=arguments[_i];var scheduler=null,args=observables;return isScheduler_1.isScheduler(args[observables.length-1])&&(scheduler=args.pop()),null===scheduler&&1===observables.length&&observables[0]instanceof Observable_1.Observable?observables[0]:new ArrayObservable_1.ArrayObservable(observables,scheduler).lift(new mergeAll_1.MergeAllOperator(1))}var Observable_1=__webpack_require__(0),isScheduler_1=__webpack_require__(15),ArrayObservable_1=__webpack_require__(13),mergeAll_1=__webpack_require__(31);exports.concat=concat,exports.concatStatic=concatStatic},function(module,exports,__webpack_require__){"use strict";function map(project,thisArg){if("function"!=typeof project)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return this.lift(new MapOperator(project,thisArg))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports.map=map;var MapOperator=function(){function MapOperator(project,thisArg){this.project=project,this.thisArg=thisArg}return MapOperator.prototype.call=function(subscriber,source){return source.subscribe(new MapSubscriber(subscriber,this.project,this.thisArg))},MapOperator}();exports.MapOperator=MapOperator;var MapSubscriber=function(_super){function MapSubscriber(destination,project,thisArg){_super.call(this,destination),this.project=project,this.count=0,this.thisArg=thisArg||this}return __extends(MapSubscriber,_super),MapSubscriber.prototype._next=function(value){var result;try{result=this.project.call(this.thisArg,value,this.count++)}catch(err){return void this.destination.error(err)}this.destination.next(result)},MapSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function observeOn(scheduler,delay){return void 0===delay&&(delay=0),this.lift(new ObserveOnOperator(scheduler,delay))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),Notification_1=__webpack_require__(22);exports.observeOn=observeOn;var ObserveOnOperator=function(){function ObserveOnOperator(scheduler,delay){void 0===delay&&(delay=0),this.scheduler=scheduler,this.delay=delay}return ObserveOnOperator.prototype.call=function(subscriber,source){return source.subscribe(new ObserveOnSubscriber(subscriber,this.scheduler,this.delay))},ObserveOnOperator}();exports.ObserveOnOperator=ObserveOnOperator;var ObserveOnSubscriber=function(_super){function ObserveOnSubscriber(destination,scheduler,delay){void 0===delay&&(delay=0),_super.call(this,destination),this.scheduler=scheduler,this.delay=delay}return __extends(ObserveOnSubscriber,_super),ObserveOnSubscriber.dispatch=function(arg){var notification=arg.notification,destination=arg.destination;notification.observe(destination),this.unsubscribe()},ObserveOnSubscriber.prototype.scheduleMessage=function(notification){this.add(this.scheduler.schedule(ObserveOnSubscriber.dispatch,this.delay,new ObserveOnMessage(notification,this.destination)))},ObserveOnSubscriber.prototype._next=function(value){this.scheduleMessage(Notification_1.Notification.createNext(value))},ObserveOnSubscriber.prototype._error=function(err){this.scheduleMessage(Notification_1.Notification.createError(err))},ObserveOnSubscriber.prototype._complete=function(){this.scheduleMessage(Notification_1.Notification.createComplete())},ObserveOnSubscriber}(Subscriber_1.Subscriber);exports.ObserveOnSubscriber=ObserveOnSubscriber;var ObserveOnMessage=function(){function ObserveOnMessage(notification,destination){this.notification=notification,this.destination=destination}return ObserveOnMessage}();exports.ObserveOnMessage=ObserveOnMessage},function(module,exports,__webpack_require__){"use strict";function reduce(accumulator,seed){var hasSeed=!1;return arguments.length>=2&&(hasSeed=!0),this.lift(new ReduceOperator(accumulator,seed,hasSeed))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports.reduce=reduce;var ReduceOperator=function(){function ReduceOperator(accumulator,seed,hasSeed){void 0===hasSeed&&(hasSeed=!1),this.accumulator=accumulator,this.seed=seed,this.hasSeed=hasSeed}return ReduceOperator.prototype.call=function(subscriber,source){return source.subscribe(new ReduceSubscriber(subscriber,this.accumulator,this.seed,this.hasSeed))},ReduceOperator}();exports.ReduceOperator=ReduceOperator;var ReduceSubscriber=function(_super){function ReduceSubscriber(destination,accumulator,seed,hasSeed){_super.call(this,destination),this.accumulator=accumulator,this.hasSeed=hasSeed,this.index=0,this.hasValue=!1,this.acc=seed,this.hasSeed||this.index++}return __extends(ReduceSubscriber,_super),ReduceSubscriber.prototype._next=function(value){this.hasValue||(this.hasValue=this.hasSeed)?this._tryReduce(value):(this.acc=value,
+this.hasValue=!0)},ReduceSubscriber.prototype._tryReduce=function(value){var result;try{result=this.accumulator(this.acc,value,this.index++)}catch(err){return void this.destination.error(err)}this.acc=result},ReduceSubscriber.prototype._complete=function(){(this.hasValue||this.hasSeed)&&this.destination.next(this.acc),this.destination.complete()},ReduceSubscriber}(Subscriber_1.Subscriber);exports.ReduceSubscriber=ReduceSubscriber},function(module,exports,__webpack_require__){"use strict";function zipProto(){for(var observables=[],_i=0;_i<arguments.length;_i++)observables[_i-0]=arguments[_i];return this.lift.call(zipStatic.apply(void 0,[this].concat(observables)))}function zipStatic(){for(var observables=[],_i=0;_i<arguments.length;_i++)observables[_i-0]=arguments[_i];var project=observables[observables.length-1];return"function"==typeof project&&observables.pop(),new ArrayObservable_1.ArrayObservable(observables).lift(new ZipOperator(project))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},ArrayObservable_1=__webpack_require__(13),isArray_1=__webpack_require__(14),Subscriber_1=__webpack_require__(1),OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3),iterator_1=__webpack_require__(25);exports.zipProto=zipProto,exports.zipStatic=zipStatic;var ZipOperator=function(){function ZipOperator(project){this.project=project}return ZipOperator.prototype.call=function(subscriber,source){return source.subscribe(new ZipSubscriber(subscriber,this.project))},ZipOperator}();exports.ZipOperator=ZipOperator;var ZipSubscriber=function(_super){function ZipSubscriber(destination,project,values){void 0===values&&(values=Object.create(null)),_super.call(this,destination),this.iterators=[],this.active=0,this.project="function"==typeof project?project:null,this.values=values}return __extends(ZipSubscriber,_super),ZipSubscriber.prototype._next=function(value){var iterators=this.iterators;isArray_1.isArray(value)?iterators.push(new StaticArrayIterator(value)):"function"==typeof value[iterator_1.$$iterator]?iterators.push(new StaticIterator(value[iterator_1.$$iterator]())):iterators.push(new ZipBufferIterator(this.destination,this,value))},ZipSubscriber.prototype._complete=function(){var iterators=this.iterators,len=iterators.length;this.active=len;for(var i=0;i<len;i++){var iterator=iterators[i];iterator.stillUnsubscribed?this.add(iterator.subscribe(iterator,i)):this.active--}},ZipSubscriber.prototype.notifyInactive=function(){this.active--,0===this.active&&this.destination.complete()},ZipSubscriber.prototype.checkIterators=function(){for(var iterators=this.iterators,len=iterators.length,destination=this.destination,i=0;i<len;i++){var iterator=iterators[i];if("function"==typeof iterator.hasValue&&!iterator.hasValue())return}for(var shouldComplete=!1,args=[],i=0;i<len;i++){var iterator=iterators[i],result=iterator.next();if(iterator.hasCompleted()&&(shouldComplete=!0),result.done)return void destination.complete();args.push(result.value)}this.project?this._tryProject(args):destination.next(args),shouldComplete&&destination.complete()},ZipSubscriber.prototype._tryProject=function(args){var result;try{result=this.project.apply(this,args)}catch(err){return void this.destination.error(err)}this.destination.next(result)},ZipSubscriber}(Subscriber_1.Subscriber);exports.ZipSubscriber=ZipSubscriber;var StaticIterator=function(){function StaticIterator(iterator){this.iterator=iterator,this.nextResult=iterator.next()}return StaticIterator.prototype.hasValue=function(){return!0},StaticIterator.prototype.next=function(){var result=this.nextResult;return this.nextResult=this.iterator.next(),result},StaticIterator.prototype.hasCompleted=function(){var nextResult=this.nextResult;return nextResult&&nextResult.done},StaticIterator}(),StaticArrayIterator=function(){function StaticArrayIterator(array){this.array=array,this.index=0,this.length=0,this.length=array.length}return StaticArrayIterator.prototype[iterator_1.$$iterator]=function(){return this},StaticArrayIterator.prototype.next=function(value){var i=this.index++,array=this.array;return i<this.length?{value:array[i],done:!1}:{value:null,done:!0}},StaticArrayIterator.prototype.hasValue=function(){return this.array.length>this.index},StaticArrayIterator.prototype.hasCompleted=function(){return this.array.length===this.index},StaticArrayIterator}(),ZipBufferIterator=function(_super){function ZipBufferIterator(destination,parent,observable){_super.call(this,destination),this.parent=parent,this.observable=observable,this.stillUnsubscribed=!0,this.buffer=[],this.isComplete=!1}return __extends(ZipBufferIterator,_super),ZipBufferIterator.prototype[iterator_1.$$iterator]=function(){return this},ZipBufferIterator.prototype.next=function(){var buffer=this.buffer;return 0===buffer.length&&this.isComplete?{value:null,done:!0}:{value:buffer.shift(),done:!1}},ZipBufferIterator.prototype.hasValue=function(){return this.buffer.length>0},ZipBufferIterator.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete},ZipBufferIterator.prototype.notifyComplete=function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()},ZipBufferIterator.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this.buffer.push(innerValue),this.parent.checkIterators()},ZipBufferIterator.prototype.subscribe=function(value,index){return subscribeToResult_1.subscribeToResult(this,this.observable,this,index)},ZipBufferIterator}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){function Transport(opts){this.path=opts.path,this.hostname=opts.hostname,this.port=opts.port,this.secure=opts.secure,this.query=opts.query,this.timestampParam=opts.timestampParam,this.timestampRequests=opts.timestampRequests,this.readyState="",this.agent=opts.agent||!1,this.socket=opts.socket,this.enablesXDR=opts.enablesXDR,this.pfx=opts.pfx,this.key=opts.key,this.passphrase=opts.passphrase,this.cert=opts.cert,this.ca=opts.ca,this.ciphers=opts.ciphers,this.rejectUnauthorized=opts.rejectUnauthorized,this.forceNode=opts.forceNode,this.extraHeaders=opts.extraHeaders,this.localAddress=opts.localAddress}var parser=__webpack_require__(21),Emitter=__webpack_require__(26);module.exports=Transport,Emitter(Transport.prototype),Transport.prototype.onError=function(msg,desc){var err=new Error(msg);return err.type="TransportError",err.description=desc,this.emit("error",err),this},Transport.prototype.open=function(){return"closed"!==this.readyState&&""!==this.readyState||(this.readyState="opening",this.doOpen()),this},Transport.prototype.close=function(){return"opening"!==this.readyState&&"open"!==this.readyState||(this.doClose(),this.onClose()),this},Transport.prototype.send=function(packets){if("open"!==this.readyState)throw new Error("Transport not open");this.write(packets)},Transport.prototype.onOpen=function(){this.readyState="open",this.writable=!0,this.emit("open")},Transport.prototype.onData=function(data){var packet=parser.decodePacket(data,this.socket.binaryType);this.onPacket(packet)},Transport.prototype.onPacket=function(packet){this.emit("packet",packet)},Transport.prototype.onClose=function(){this.readyState="closed",this.emit("close")}},function(module,exports,__webpack_require__){(function(global){var hasCORS=__webpack_require__(441);module.exports=function(opts){var xdomain=opts.xdomain,xscheme=opts.xscheme,enablesXDR=opts.enablesXDR;try{if("undefined"!=typeof XMLHttpRequest&&(!xdomain||hasCORS))return new XMLHttpRequest}catch(e){}try{if("undefined"!=typeof XDomainRequest&&!xscheme&&enablesXDR)return new XDomainRequest}catch(e){}if(!xdomain)try{return new(global[["Active"].concat("Object").join("X")])("Microsoft.XMLHTTP")}catch(e){}}}).call(exports,__webpack_require__(4))},function(module,exports){exports.encode=function(obj){var str="";for(var i in obj)obj.hasOwnProperty(i)&&(str.length&&(str+="&"),str+=encodeURIComponent(i)+"="+encodeURIComponent(obj[i]));return str},exports.decode=function(qs){for(var qry={},pairs=qs.split("&"),i=0,l=pairs.length;i<l;i++){var pair=pairs[i].split("=");qry[decodeURIComponent(pair[0])]=decodeURIComponent(pair[1])}return qry}},function(module,exports,__webpack_require__){function Encoder(){}function encodeAsString(obj){var str="",nsp=!1;return str+=obj.type,exports.BINARY_EVENT!=obj.type&&exports.BINARY_ACK!=obj.type||(str+=obj.attachments,str+="-"),obj.nsp&&"/"!=obj.nsp&&(nsp=!0,str+=obj.nsp),null!=obj.id&&(nsp&&(str+=",",nsp=!1),str+=obj.id),null!=obj.data&&(nsp&&(str+=","),str+=json.stringify(obj.data)),debug("encoded %j as %s",obj,str),str}function encodeAsBinary(obj,callback){function writeEncoding(bloblessData){var deconstruction=binary.deconstructPacket(bloblessData),pack=encodeAsString(deconstruction.packet),buffers=deconstruction.buffers;buffers.unshift(pack),callback(buffers)}binary.removeBlobs(obj,writeEncoding)}function Decoder(){this.reconstructor=null}function decodeString(str){var p={},i=0;if(p.type=Number(str.charAt(0)),null==exports.types[p.type])return error();if(exports.BINARY_EVENT==p.type||exports.BINARY_ACK==p.type){for(var buf="";"-"!=str.charAt(++i)&&(buf+=str.charAt(i),i!=str.length););if(buf!=Number(buf)||"-"!=str.charAt(i))throw new Error("Illegal attachments");p.attachments=Number(buf)}if("/"==str.charAt(i+1))for(p.nsp="";++i;){var c=str.charAt(i);if(","==c)break;if(p.nsp+=c,i==str.length)break}else p.nsp="/";var next=str.charAt(i+1);if(""!==next&&Number(next)==next){for(p.id="";++i;){var c=str.charAt(i);if(null==c||Number(c)!=c){--i;break}if(p.id+=str.charAt(i),i==str.length)break}p.id=Number(p.id)}return str.charAt(++i)&&(p=tryParse(p,str.substr(i))),debug("decoded %s as %j",str,p),p}function tryParse(p,str){try{p.data=json.parse(str)}catch(e){return error()}return p}function BinaryReconstructor(packet){this.reconPack=packet,this.buffers=[]}function error(data){return{type:exports.ERROR,data:"parser error"}}var debug=__webpack_require__(446)("socket.io-parser"),json=__webpack_require__(450),Emitter=__webpack_require__(445),binary=__webpack_require__(444),isBuf=__webpack_require__(109);exports.protocol=4,exports.types=["CONNECT","DISCONNECT","EVENT","ACK","ERROR","BINARY_EVENT","BINARY_ACK"],exports.CONNECT=0,exports.DISCONNECT=1,exports.EVENT=2,exports.ACK=3,exports.ERROR=4,exports.BINARY_EVENT=5,exports.BINARY_ACK=6,exports.Encoder=Encoder,exports.Decoder=Decoder,Encoder.prototype.encode=function(obj,callback){if(debug("encoding packet %j",obj),exports.BINARY_EVENT==obj.type||exports.BINARY_ACK==obj.type)encodeAsBinary(obj,callback);else{var encoding=encodeAsString(obj);callback([encoding])}},Emitter(Decoder.prototype),Decoder.prototype.add=function(obj){var packet;if("string"==typeof obj)packet=decodeString(obj),exports.BINARY_EVENT==packet.type||exports.BINARY_ACK==packet.type?(this.reconstructor=new BinaryReconstructor(packet),0===this.reconstructor.reconPack.attachments&&this.emit("decoded",packet)):this.emit("decoded",packet);else{if(!isBuf(obj)&&!obj.base64)throw new Error("Unknown type: "+obj);if(!this.reconstructor)throw new Error("got binary data when not reconstructing a packet");packet=this.reconstructor.takeBinaryData(obj),packet&&(this.reconstructor=null,this.emit("decoded",packet))}},Decoder.prototype.destroy=function(){this.reconstructor&&this.reconstructor.finishedReconstruction()},BinaryReconstructor.prototype.takeBinaryData=function(binData){if(this.buffers.push(binData),this.buffers.length==this.reconPack.attachments){var packet=binary.reconstructPacket(this.reconPack,this.buffers);return this.finishedReconstruction(),packet}return null},BinaryReconstructor.prototype.finishedReconstruction=function(){this.reconPack=null,this.buffers=[]}},function(module,exports,__webpack_require__){var http=__webpack_require__(43),https=module.exports;for(var key in http)http.hasOwnProperty(key)&&(https[key]=http[key]);https.request=function(params,cb){return params||(params={}),params.scheme="https",params.protocol="https:",http.request.call(this,params,cb)}},function(module,exports,__webpack_require__){"use strict";function TransformState(stream){this.afterTransform=function(er,data){return afterTransform(stream,er,data)},this.needTransform=!1,this.transforming=!1,this.writecb=null,this.writechunk=null,this.writeencoding=null}function afterTransform(stream,er,data){var ts=stream._transformState;ts.transforming=!1;var cb=ts.writecb;if(!cb)return stream.emit("error",new Error("no writecb in Transform class"));ts.writechunk=null,ts.writecb=null,null!==data&&void 0!==data&&stream.push(data),cb(er);var rs=stream._readableState;rs.reading=!1,(rs.needReadable||rs.length<rs.highWaterMark)&&stream._read(rs.highWaterMark)}function Transform(options){if(!(this instanceof Transform))return new Transform(options);Duplex.call(this,options),this._transformState=new TransformState(this);var stream=this;this._readableState.needReadable=!0,this._readableState.sync=!1,options&&("function"==typeof options.transform&&(this._transform=options.transform),"function"==typeof options.flush&&(this._flush=options.flush)),this.once("prefinish",function(){"function"==typeof this._flush?this._flush(function(er,data){done(stream,er,data)}):done(stream)})}function done(stream,er,data){if(er)return stream.emit("error",er);null!==data&&void 0!==data&&stream.push(data);var ws=stream._writableState,ts=stream._transformState;if(ws.length)throw new Error("Calling transform done when ws.length != 0");if(ts.transforming)throw new Error("Calling transform done when still transforming");return stream.push(null)}module.exports=Transform;var Duplex=__webpack_require__(19),util=__webpack_require__(27);util.inherits=__webpack_require__(28),util.inherits(Transform,Duplex),Transform.prototype.push=function(chunk,encoding){return this._transformState.needTransform=!1,Duplex.prototype.push.call(this,chunk,encoding)},Transform.prototype._transform=function(chunk,encoding,cb){throw new Error("_transform() is not implemented")},Transform.prototype._write=function(chunk,encoding,cb){var ts=this._transformState;if(ts.writecb=cb,ts.writechunk=chunk,ts.writeencoding=encoding,!ts.transforming){var rs=this._readableState;(ts.needTransform||rs.needReadable||rs.length<rs.highWaterMark)&&this._read(rs.highWaterMark)}},Transform.prototype._read=function(n){var ts=this._transformState;null!==ts.writechunk&&ts.writecb&&!ts.transforming?(ts.transforming=!0,this._transform(ts.writechunk,ts.writeencoding,ts.afterTransform)):ts.needTransform=!0}},function(module,exports,__webpack_require__){"use strict";(function(process,setImmediate){function CorkedRequest(state){this.next=null,this.entry=null,this.finish=onCorkedFinish.bind(void 0,this,state)}function nop(){}function WriteReq(chunk,encoding,cb){this.chunk=chunk,this.encoding=encoding,this.callback=cb,this.next=null}function WritableState(options,stream){Duplex=Duplex||__webpack_require__(19),options=options||{},this.objectMode=!!options.objectMode,stream instanceof Duplex&&(this.objectMode=this.objectMode||!!options.writableObjectMode);var hwm=options.highWaterMark,defaultHwm=this.objectMode?16:16384;this.highWaterMark=hwm||0===hwm?hwm:defaultHwm,this.highWaterMark=~~this.highWaterMark,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1;var noDecode=options.decodeStrings===!1;this.decodeStrings=!noDecode,this.defaultEncoding=options.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(er){onwrite(stream,er)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.bufferedRequestCount=0,this.corkedRequestsFree=new CorkedRequest(this)}function Writable(options){return Duplex=Duplex||__webpack_require__(19),realHasInstance.call(Writable,this)||this instanceof Duplex?(this._writableState=new WritableState(options,this),this.writable=!0,options&&("function"==typeof options.write&&(this._write=options.write),"function"==typeof options.writev&&(this._writev=options.writev)),void Stream.call(this)):new Writable(options)}function writeAfterEnd(stream,cb){var er=new Error("write after end");stream.emit("error",er),processNextTick(cb,er)}function validChunk(stream,state,chunk,cb){var valid=!0,er=!1;return null===chunk?er=new TypeError("May not write null values to stream"):"string"==typeof chunk||void 0===chunk||state.objectMode||(er=new TypeError("Invalid non-string/buffer chunk")),er&&(stream.emit("error",er),processNextTick(cb,er),valid=!1),valid}function decodeChunk(state,chunk,encoding){return state.objectMode||state.decodeStrings===!1||"string"!=typeof chunk||(chunk=bufferShim.from(chunk,encoding)),chunk}function writeOrBuffer(stream,state,isBuf,chunk,encoding,cb){isBuf||(chunk=decodeChunk(state,chunk,encoding),Buffer.isBuffer(chunk)&&(encoding="buffer"));var len=state.objectMode?1:chunk.length;state.length+=len;var ret=state.length<state.highWaterMark;if(ret||(state.needDrain=!0),state.writing||state.corked){var last=state.lastBufferedRequest;state.lastBufferedRequest=new WriteReq(chunk,encoding,cb),last?last.next=state.lastBufferedRequest:state.bufferedRequest=state.lastBufferedRequest,state.bufferedRequestCount+=1}else doWrite(stream,state,!1,len,chunk,encoding,cb);return ret}function doWrite(stream,state,writev,len,chunk,encoding,cb){state.writelen=len,state.writecb=cb,state.writing=!0,state.sync=!0,writev?stream._writev(chunk,state.onwrite):stream._write(chunk,encoding,state.onwrite),state.sync=!1}function onwriteError(stream,state,sync,er,cb){--state.pendingcb,sync?processNextTick(cb,er):cb(er),stream._writableState.errorEmitted=!0,stream.emit("error",er)}function onwriteStateUpdate(state){state.writing=!1,state.writecb=null,state.length-=state.writelen,state.writelen=0}function onwrite(stream,er){var state=stream._writableState,sync=state.sync,cb=state.writecb;if(onwriteStateUpdate(state),er)onwriteError(stream,state,sync,er,cb);else{var finished=needFinish(state);finished||state.corked||state.bufferProcessing||!state.bufferedRequest||clearBuffer(stream,state),sync?asyncWrite(afterWrite,stream,state,finished,cb):afterWrite(stream,state,finished,cb)}}function afterWrite(stream,state,finished,cb){finished||onwriteDrain(stream,state),state.pendingcb--,cb(),finishMaybe(stream,state)}function onwriteDrain(stream,state){0===state.length&&state.needDrain&&(state.needDrain=!1,stream.emit("drain"))}function clearBuffer(stream,state){state.bufferProcessing=!0;var entry=state.bufferedRequest;if(stream._writev&&entry&&entry.next){var l=state.bufferedRequestCount,buffer=new Array(l),holder=state.corkedRequestsFree;holder.entry=entry;for(var count=0;entry;)buffer[count]=entry,entry=entry.next,count+=1;doWrite(stream,state,!0,state.length,buffer,"",holder.finish),state.pendingcb++,state.lastBufferedRequest=null,holder.next?(state.corkedRequestsFree=holder.next,holder.next=null):state.corkedRequestsFree=new CorkedRequest(state)}else{for(;entry;){var chunk=entry.chunk,encoding=entry.encoding,cb=entry.callback,len=state.objectMode?1:chunk.length;if(doWrite(stream,state,!1,len,chunk,encoding,cb),entry=entry.next,state.writing)break}null===entry&&(state.lastBufferedRequest=null)}state.bufferedRequestCount=0,state.bufferedRequest=entry,state.bufferProcessing=!1}function needFinish(state){return state.ending&&0===state.length&&null===state.bufferedRequest&&!state.finished&&!state.writing}function prefinish(stream,state){state.prefinished||(state.prefinished=!0,stream.emit("prefinish"))}function finishMaybe(stream,state){var need=needFinish(state);return need&&(0===state.pendingcb?(prefinish(stream,state),state.finished=!0,stream.emit("finish")):prefinish(stream,state)),need}function endWritable(stream,state,cb){state.ending=!0,finishMaybe(stream,state),cb&&(state.finished?processNextTick(cb):stream.once("finish",cb)),state.ended=!0,stream.writable=!1}function CorkedRequest(state){var _this=this;this.next=null,this.entry=null,this.finish=function(err){var entry=_this.entry;for(_this.entry=null;entry;){var cb=entry.callback;state.pendingcb--,cb(err),entry=entry.next}state.corkedRequestsFree?state.corkedRequestsFree.next=_this:state.corkedRequestsFree=_this}}module.exports=Writable;var Duplex,processNextTick=__webpack_require__(66),asyncWrite=!process.browser&&["v0.10","v0.9."].indexOf(process.version.slice(0,5))>-1?setImmediate:processNextTick;Writable.WritableState=WritableState;var util=__webpack_require__(27);util.inherits=__webpack_require__(28);var Stream,internalUtil={deprecate:__webpack_require__(463)};!function(){try{Stream=__webpack_require__(68)}catch(_){}finally{Stream||(Stream=__webpack_require__(42).EventEmitter)}}();var Buffer=__webpack_require__(12).Buffer,bufferShim=__webpack_require__(65);util.inherits(Writable,Stream),WritableState.prototype.getBuffer=function(){for(var current=this.bufferedRequest,out=[];current;)out.push(current),current=current.next;return out},function(){try{Object.defineProperty(WritableState.prototype,"buffer",{get:internalUtil.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.")})}catch(_){}}();var realHasInstance;"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(realHasInstance=Function.prototype[Symbol.hasInstance],Object.defineProperty(Writable,Symbol.hasInstance,{value:function(object){return!!realHasInstance.call(this,object)||object&&object._writableState instanceof WritableState}})):realHasInstance=function(object){return object instanceof this},Writable.prototype.pipe=function(){this.emit("error",new Error("Cannot pipe, not readable"))},Writable.prototype.write=function(chunk,encoding,cb){var state=this._writableState,ret=!1,isBuf=Buffer.isBuffer(chunk);return"function"==typeof encoding&&(cb=encoding,encoding=null),isBuf?encoding="buffer":encoding||(encoding=state.defaultEncoding),"function"!=typeof cb&&(cb=nop),state.ended?writeAfterEnd(this,cb):(isBuf||validChunk(this,state,chunk,cb))&&(state.pendingcb++,ret=writeOrBuffer(this,state,isBuf,chunk,encoding,cb)),ret},Writable.prototype.cork=function(){var state=this._writableState;state.corked++},Writable.prototype.uncork=function(){var state=this._writableState;state.corked&&(state.corked--,state.writing||state.corked||state.finished||state.bufferProcessing||!state.bufferedRequest||clearBuffer(this,state))},Writable.prototype.setDefaultEncoding=function(encoding){if("string"==typeof encoding&&(encoding=encoding.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((encoding+"").toLowerCase())>-1))throw new TypeError("Unknown encoding: "+encoding);return this._writableState.defaultEncoding=encoding,this},Writable.prototype._write=function(chunk,encoding,cb){cb(new Error("_write() is not implemented"))},Writable.prototype._writev=null,Writable.prototype.end=function(chunk,encoding,cb){var state=this._writableState;"function"==typeof chunk?(cb=chunk,chunk=null,encoding=null):"function"==typeof encoding&&(cb=encoding,encoding=null),null!==chunk&&void 0!==chunk&&this.write(chunk,encoding),state.corked&&(state.corked=1,this.uncork()),state.ending||state.finished||endWritable(this,state,cb)}}).call(exports,__webpack_require__(16),__webpack_require__(29).setImmediate)},function(module,exports,__webpack_require__){"use strict";(function(global){var buffer=__webpack_require__(12),Buffer=buffer.Buffer,SlowBuffer=buffer.SlowBuffer,MAX_LEN=buffer.kMaxLength||2147483647;exports.alloc=function(size,fill,encoding){if("function"==typeof Buffer.alloc)return Buffer.alloc(size,fill,encoding);if("number"==typeof encoding)throw new TypeError("encoding must not be number");if("number"!=typeof size)throw new TypeError("size must be a number");if(size>MAX_LEN)throw new RangeError("size is too large");var enc=encoding,_fill=fill;void 0===_fill&&(enc=void 0,_fill=0);var buf=new Buffer(size);if("string"==typeof _fill)for(var fillBuf=new Buffer(_fill,enc),flen=fillBuf.length,i=-1;++i<size;)buf[i]=fillBuf[i%flen];else buf.fill(_fill);return buf},exports.allocUnsafe=function(size){if("function"==typeof Buffer.allocUnsafe)return Buffer.allocUnsafe(size);if("number"!=typeof size)throw new TypeError("size must be a number");if(size>MAX_LEN)throw new RangeError("size is too large");return new Buffer(size)},exports.from=function(value,encodingOrOffset,length){if("function"==typeof Buffer.from&&(!global.Uint8Array||Uint8Array.from!==Buffer.from))return Buffer.from(value,encodingOrOffset,length);if("number"==typeof value)throw new TypeError('"value" argument must not be a number');if("string"==typeof value)return new Buffer(value,encodingOrOffset);if("undefined"!=typeof ArrayBuffer&&value instanceof ArrayBuffer){var offset=encodingOrOffset;if(1===arguments.length)return new Buffer(value);"undefined"==typeof offset&&(offset=0);var len=length;if("undefined"==typeof len&&(len=value.byteLength-offset),offset>=value.byteLength)throw new RangeError("'offset' is out of bounds");if(len>value.byteLength-offset)throw new RangeError("'length' is out of bounds");return new Buffer(value.slice(offset,offset+len))}if(Buffer.isBuffer(value)){var out=new Buffer(value.length);return value.copy(out,0,0,value.length),out}if(value){if(Array.isArray(value)||"undefined"!=typeof ArrayBuffer&&value.buffer instanceof ArrayBuffer||"length"in value)return new Buffer(value);if("Buffer"===value.type&&Array.isArray(value.data))return new Buffer(value.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")},exports.allocUnsafeSlow=function(size){if("function"==typeof Buffer.allocUnsafeSlow)return Buffer.allocUnsafeSlow(size);if("number"!=typeof size)throw new TypeError("size must be a number");if(size>=MAX_LEN)throw new RangeError("size is too large");return new SlowBuffer(size)}}).call(exports,__webpack_require__(4))},function(module,exports,__webpack_require__){"use strict";(function(process){function nextTick(fn,arg1,arg2,arg3){if("function"!=typeof fn)throw new TypeError('"callback" argument must be a function');var args,i,len=arguments.length;switch(len){case 0:case 1:return process.nextTick(fn);case 2:return process.nextTick(function(){fn.call(null,arg1)});case 3:return process.nextTick(function(){fn.call(null,arg1,arg2)});case 4:return process.nextTick(function(){fn.call(null,arg1,arg2,arg3)});default:for(args=new Array(len-1),i=0;i<args.length;)args[i++]=arguments[i];return process.nextTick(function(){fn.apply(null,args)})}}!process.version||0===process.version.indexOf("v0.")||0===process.version.indexOf("v1.")&&0!==process.version.indexOf("v1.8.")?module.exports=nextTick:module.exports=process.nextTick}).call(exports,__webpack_require__(16))},function(module,exports,__webpack_require__){(function(process){var Stream=function(){try{return __webpack_require__(68)}catch(_){}}();exports=module.exports=__webpack_require__(111),exports.Stream=Stream||exports,exports.Readable=exports,exports.Writable=__webpack_require__(64),exports.Duplex=__webpack_require__(19),exports.Transform=__webpack_require__(63),exports.PassThrough=__webpack_require__(110),!process.browser&&"disable"===process.env.READABLE_STREAM&&Stream&&(module.exports=Stream)}).call(exports,__webpack_require__(16))},function(module,exports,__webpack_require__){function Stream(){EE.call(this)}module.exports=Stream;var EE=__webpack_require__(42).EventEmitter,inherits=__webpack_require__(467);inherits(Stream,EE),Stream.Readable=__webpack_require__(67),Stream.Writable=__webpack_require__(466),Stream.Duplex=__webpack_require__(460),Stream.Transform=__webpack_require__(465),Stream.PassThrough=__webpack_require__(464),Stream.Stream=Stream,Stream.prototype.pipe=function(dest,options){function ondata(chunk){dest.writable&&!1===dest.write(chunk)&&source.pause&&source.pause()}function ondrain(){source.readable&&source.resume&&source.resume()}function onend(){didOnEnd||(didOnEnd=!0,dest.end())}function onclose(){didOnEnd||(didOnEnd=!0,"function"==typeof dest.destroy&&dest.destroy())}function onerror(er){if(cleanup(),0===EE.listenerCount(this,"error"))throw er}function cleanup(){source.removeListener("data",ondata),dest.removeListener("drain",ondrain),source.removeListener("end",onend),source.removeListener("close",onclose),source.removeListener("error",onerror),dest.removeListener("error",onerror),source.removeListener("end",cleanup),source.removeListener("close",cleanup),dest.removeListener("close",cleanup)}var source=this;source.on("data",ondata),dest.on("drain",ondrain),dest._isStdio||options&&options.end===!1||(source.on("end",onend),source.on("close",onclose));var didOnEnd=!1;return source.on("error",onerror),dest.on("error",onerror),source.on("end",cleanup),source.on("close",cleanup),dest.on("close",cleanup),dest.emit("pipe",source),dest}},function(module,exports,__webpack_require__){(function(global,process){function inspect(obj,opts){var ctx={seen:[],stylize:stylizeNoColor};return arguments.length>=3&&(ctx.depth=arguments[2]),arguments.length>=4&&(ctx.colors=arguments[3]),isBoolean(opts)?ctx.showHidden=opts:opts&&exports._extend(ctx,opts),isUndefined(ctx.showHidden)&&(ctx.showHidden=!1),isUndefined(ctx.depth)&&(ctx.depth=2),isUndefined(ctx.colors)&&(ctx.colors=!1),isUndefined(ctx.customInspect)&&(ctx.customInspect=!0),ctx.colors&&(ctx.stylize=stylizeWithColor),formatValue(ctx,obj,ctx.depth)}function stylizeWithColor(str,styleType){var style=inspect.styles[styleType];return style?"["+inspect.colors[style][0]+"m"+str+"["+inspect.colors[style][1]+"m":str}function stylizeNoColor(str,styleType){return str}function arrayToHash(array){var hash={};return array.forEach(function(val,idx){hash[val]=!0}),hash}function formatValue(ctx,value,recurseTimes){if(ctx.customInspect&&value&&isFunction(value.inspect)&&value.inspect!==exports.inspect&&(!value.constructor||value.constructor.prototype!==value)){var ret=value.inspect(recurseTimes,ctx);return isString(ret)||(ret=formatValue(ctx,ret,recurseTimes)),ret}var primitive=formatPrimitive(ctx,value);if(primitive)return primitive;var keys=Object.keys(value),visibleKeys=arrayToHash(keys);if(ctx.showHidden&&(keys=Object.getOwnPropertyNames(value)),isError(value)&&(keys.indexOf("message")>=0||keys.indexOf("description")>=0))return formatError(value);if(0===keys.length){if(isFunction(value)){var name=value.name?": "+value.name:"";return ctx.stylize("[Function"+name+"]","special")}if(isRegExp(value))return ctx.stylize(RegExp.prototype.toString.call(value),"regexp");if(isDate(value))return ctx.stylize(Date.prototype.toString.call(value),"date");if(isError(value))return formatError(value)}var base="",array=!1,braces=["{","}"];if(isArray(value)&&(array=!0,braces=["[","]"]),isFunction(value)){var n=value.name?": "+value.name:"";base=" [Function"+n+"]"}if(isRegExp(value)&&(base=" "+RegExp.prototype.toString.call(value)),isDate(value)&&(base=" "+Date.prototype.toUTCString.call(value)),isError(value)&&(base=" "+formatError(value)),0===keys.length&&(!array||0==value.length))return braces[0]+base+braces[1];if(recurseTimes<0)return isRegExp(value)?ctx.stylize(RegExp.prototype.toString.call(value),"regexp"):ctx.stylize("[Object]","special");ctx.seen.push(value);var output;return output=array?formatArray(ctx,value,recurseTimes,visibleKeys,keys):keys.map(function(key){return formatProperty(ctx,value,recurseTimes,visibleKeys,key,array)}),ctx.seen.pop(),reduceToSingleString(output,base,braces)}function formatPrimitive(ctx,value){if(isUndefined(value))return ctx.stylize("undefined","undefined");if(isString(value)){var simple="'"+JSON.stringify(value).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return ctx.stylize(simple,"string")}return isNumber(value)?ctx.stylize(""+value,"number"):isBoolean(value)?ctx.stylize(""+value,"boolean"):isNull(value)?ctx.stylize("null","null"):void 0;
+}function formatError(value){return"["+Error.prototype.toString.call(value)+"]"}function formatArray(ctx,value,recurseTimes,visibleKeys,keys){for(var output=[],i=0,l=value.length;i<l;++i)hasOwnProperty(value,String(i))?output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,String(i),!0)):output.push("");return keys.forEach(function(key){key.match(/^\d+$/)||output.push(formatProperty(ctx,value,recurseTimes,visibleKeys,key,!0))}),output}function formatProperty(ctx,value,recurseTimes,visibleKeys,key,array){var name,str,desc;if(desc=Object.getOwnPropertyDescriptor(value,key)||{value:value[key]},desc.get?str=desc.set?ctx.stylize("[Getter/Setter]","special"):ctx.stylize("[Getter]","special"):desc.set&&(str=ctx.stylize("[Setter]","special")),hasOwnProperty(visibleKeys,key)||(name="["+key+"]"),str||(ctx.seen.indexOf(desc.value)<0?(str=isNull(recurseTimes)?formatValue(ctx,desc.value,null):formatValue(ctx,desc.value,recurseTimes-1),str.indexOf("\n")>-1&&(str=array?str.split("\n").map(function(line){return"  "+line}).join("\n").substr(2):"\n"+str.split("\n").map(function(line){return"   "+line}).join("\n"))):str=ctx.stylize("[Circular]","special")),isUndefined(name)){if(array&&key.match(/^\d+$/))return str;name=JSON.stringify(""+key),name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(name=name.substr(1,name.length-2),name=ctx.stylize(name,"name")):(name=name.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),name=ctx.stylize(name,"string"))}return name+": "+str}function reduceToSingleString(output,base,braces){var numLinesEst=0,length=output.reduce(function(prev,cur){return numLinesEst++,cur.indexOf("\n")>=0&&numLinesEst++,prev+cur.replace(/\u001b\[\d\d?m/g,"").length+1},0);return length>60?braces[0]+(""===base?"":base+"\n ")+" "+output.join(",\n  ")+" "+braces[1]:braces[0]+base+" "+output.join(", ")+" "+braces[1]}function isArray(ar){return Array.isArray(ar)}function isBoolean(arg){return"boolean"==typeof arg}function isNull(arg){return null===arg}function isNullOrUndefined(arg){return null==arg}function isNumber(arg){return"number"==typeof arg}function isString(arg){return"string"==typeof arg}function isSymbol(arg){return"symbol"==typeof arg}function isUndefined(arg){return void 0===arg}function isRegExp(re){return isObject(re)&&"[object RegExp]"===objectToString(re)}function isObject(arg){return"object"==typeof arg&&null!==arg}function isDate(d){return isObject(d)&&"[object Date]"===objectToString(d)}function isError(e){return isObject(e)&&("[object Error]"===objectToString(e)||e instanceof Error)}function isFunction(arg){return"function"==typeof arg}function isPrimitive(arg){return null===arg||"boolean"==typeof arg||"number"==typeof arg||"string"==typeof arg||"symbol"==typeof arg||"undefined"==typeof arg}function objectToString(o){return Object.prototype.toString.call(o)}function pad(n){return n<10?"0"+n.toString(10):n.toString(10)}function timestamp(){var d=new Date,time=[pad(d.getHours()),pad(d.getMinutes()),pad(d.getSeconds())].join(":");return[d.getDate(),months[d.getMonth()],time].join(" ")}function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}var formatRegExp=/%[sdj%]/g;exports.format=function(f){if(!isString(f)){for(var objects=[],i=0;i<arguments.length;i++)objects.push(inspect(arguments[i]));return objects.join(" ")}for(var i=1,args=arguments,len=args.length,str=String(f).replace(formatRegExp,function(x){if("%%"===x)return"%";if(i>=len)return x;switch(x){case"%s":return String(args[i++]);case"%d":return Number(args[i++]);case"%j":try{return JSON.stringify(args[i++])}catch(_){return"[Circular]"}default:return x}}),x=args[i];i<len;x=args[++i])str+=isNull(x)||!isObject(x)?" "+x:" "+inspect(x);return str},exports.deprecate=function(fn,msg){function deprecated(){if(!warned){if(process.throwDeprecation)throw new Error(msg);process.traceDeprecation?console.trace(msg):console.error(msg),warned=!0}return fn.apply(this,arguments)}if(isUndefined(global.process))return function(){return exports.deprecate(fn,msg).apply(this,arguments)};if(process.noDeprecation===!0)return fn;var warned=!1;return deprecated};var debugEnviron,debugs={};exports.debuglog=function(set){if(isUndefined(debugEnviron)&&(debugEnviron=process.env.NODE_DEBUG||""),set=set.toUpperCase(),!debugs[set])if(new RegExp("\\b"+set+"\\b","i").test(debugEnviron)){var pid=process.pid;debugs[set]=function(){var msg=exports.format.apply(exports,arguments);console.error("%s %d: %s",set,pid,msg)}}else debugs[set]=function(){};return debugs[set]},exports.inspect=inspect,inspect.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},inspect.styles={special:"cyan",number:"yellow","boolean":"yellow",undefined:"grey","null":"bold",string:"green",date:"magenta",regexp:"red"},exports.isArray=isArray,exports.isBoolean=isBoolean,exports.isNull=isNull,exports.isNullOrUndefined=isNullOrUndefined,exports.isNumber=isNumber,exports.isString=isString,exports.isSymbol=isSymbol,exports.isUndefined=isUndefined,exports.isRegExp=isRegExp,exports.isObject=isObject,exports.isDate=isDate,exports.isError=isError,exports.isFunction=isFunction,exports.isPrimitive=isPrimitive,exports.isBuffer=__webpack_require__(475);var months=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];exports.log=function(){console.log("%s - %s",timestamp(),exports.format.apply(exports,arguments))},exports.inherits=__webpack_require__(474),exports._extend=function(origin,add){if(!add||!isObject(add))return origin;for(var keys=Object.keys(add),i=keys.length;i--;)origin[keys[i]]=add[keys[i]];return origin}}).call(exports,__webpack_require__(4),__webpack_require__(16))},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subject_1=__webpack_require__(6),ObjectUnsubscribedError_1=__webpack_require__(36),BehaviorSubject=function(_super){function BehaviorSubject(_value){_super.call(this),this._value=_value}return __extends(BehaviorSubject,_super),Object.defineProperty(BehaviorSubject.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),BehaviorSubject.prototype._subscribe=function(subscriber){var subscription=_super.prototype._subscribe.call(this,subscriber);return subscription&&!subscription.closed&&subscriber.next(this._value),subscription},BehaviorSubject.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError;return this._value},BehaviorSubject.prototype.next=function(value){_super.prototype.next.call(this,this._value=value)},BehaviorSubject}(Subject_1.Subject);exports.BehaviorSubject=BehaviorSubject},function(module,exports){"use strict";exports.empty={closed:!0,next:function(value){},error:function(err){throw err},complete:function(){}}},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscription_1=__webpack_require__(5),SubjectSubscription=function(_super){function SubjectSubscription(subject,subscriber){_super.call(this),this.subject=subject,this.subscriber=subscriber,this.closed=!1}return __extends(SubjectSubscription,_super),SubjectSubscription.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var subject=this.subject,observers=subject.observers;if(this.subject=null,observers&&0!==observers.length&&!subject.isStopped&&!subject.closed){var subscriberIndex=observers.indexOf(this.subscriber);subscriberIndex!==-1&&observers.splice(subscriberIndex,1)}}},SubjectSubscription}(Subscription_1.Subscription);exports.SubjectSubscription=SubjectSubscription},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subject_1=__webpack_require__(6),Observable_1=__webpack_require__(0),Subscriber_1=__webpack_require__(1),Subscription_1=__webpack_require__(5),ConnectableObservable=function(_super){function ConnectableObservable(source,subjectFactory){_super.call(this),this.source=source,this.subjectFactory=subjectFactory,this._refCount=0}return __extends(ConnectableObservable,_super),ConnectableObservable.prototype._subscribe=function(subscriber){return this.getSubject().subscribe(subscriber)},ConnectableObservable.prototype.getSubject=function(){var subject=this._subject;return subject&&!subject.isStopped||(this._subject=this.subjectFactory()),this._subject},ConnectableObservable.prototype.connect=function(){var connection=this._connection;return connection||(connection=this._connection=new Subscription_1.Subscription,connection.add(this.source.subscribe(new ConnectableSubscriber(this.getSubject(),this))),connection.closed?(this._connection=null,connection=Subscription_1.Subscription.EMPTY):this._connection=connection),connection},ConnectableObservable.prototype.refCount=function(){return this.lift(new RefCountOperator(this))},ConnectableObservable}(Observable_1.Observable);exports.ConnectableObservable=ConnectableObservable,exports.connectableObservableDescriptor={operator:{value:null},_refCount:{value:0,writable:!0},_subscribe:{value:ConnectableObservable.prototype._subscribe},getSubject:{value:ConnectableObservable.prototype.getSubject},connect:{value:ConnectableObservable.prototype.connect},refCount:{value:ConnectableObservable.prototype.refCount}};var ConnectableSubscriber=function(_super){function ConnectableSubscriber(destination,connectable){_super.call(this,destination),this.connectable=connectable}return __extends(ConnectableSubscriber,_super),ConnectableSubscriber.prototype._error=function(err){this._unsubscribe(),_super.prototype._error.call(this,err)},ConnectableSubscriber.prototype._complete=function(){this._unsubscribe(),_super.prototype._complete.call(this)},ConnectableSubscriber.prototype._unsubscribe=function(){var connectable=this.connectable;if(connectable){this.connectable=null;var connection=connectable._connection;connectable._refCount=0,connectable._subject=null,connectable._connection=null,connection&&connection.unsubscribe()}},ConnectableSubscriber}(Subject_1.SubjectSubscriber),RefCountOperator=function(){function RefCountOperator(connectable){this.connectable=connectable}return RefCountOperator.prototype.call=function(subscriber,source){var connectable=this.connectable;connectable._refCount++;var refCounter=new RefCountSubscriber(subscriber,connectable),subscription=source.subscribe(refCounter);return refCounter.closed||(refCounter.connection=connectable.connect()),subscription},RefCountOperator}(),RefCountSubscriber=function(_super){function RefCountSubscriber(destination,connectable){_super.call(this,destination),this.connectable=connectable}return __extends(RefCountSubscriber,_super),RefCountSubscriber.prototype._unsubscribe=function(){var connectable=this.connectable;if(!connectable)return void(this.connection=null);this.connectable=null;var refCount=connectable._refCount;if(refCount<=0)return void(this.connection=null);if(connectable._refCount=refCount-1,refCount>1)return void(this.connection=null);var connection=this.connection,sharedConnection=connectable._connection;this.connection=null,!sharedConnection||connection&&sharedConnection!==connection||sharedConnection.unsubscribe()},RefCountSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},isArray_1=__webpack_require__(14),isArrayLike_1=__webpack_require__(95),isPromise_1=__webpack_require__(97),PromiseObservable_1=__webpack_require__(75),IteratorObservable_1=__webpack_require__(291),ArrayObservable_1=__webpack_require__(13),ArrayLikeObservable_1=__webpack_require__(280),iterator_1=__webpack_require__(25),Observable_1=__webpack_require__(0),observeOn_1=__webpack_require__(55),observable_1=__webpack_require__(32),FromObservable=function(_super){function FromObservable(ish,scheduler){_super.call(this,null),this.ish=ish,this.scheduler=scheduler}return __extends(FromObservable,_super),FromObservable.create=function(ish,scheduler){if(null!=ish){if("function"==typeof ish[observable_1.$$observable])return ish instanceof Observable_1.Observable&&!scheduler?ish:new FromObservable(ish,scheduler);if(isArray_1.isArray(ish))return new ArrayObservable_1.ArrayObservable(ish,scheduler);if(isPromise_1.isPromise(ish))return new PromiseObservable_1.PromiseObservable(ish,scheduler);if("function"==typeof ish[iterator_1.$$iterator]||"string"==typeof ish)return new IteratorObservable_1.IteratorObservable(ish,scheduler);if(isArrayLike_1.isArrayLike(ish))return new ArrayLikeObservable_1.ArrayLikeObservable(ish,scheduler)}throw new TypeError((null!==ish&&typeof ish||ish)+" is not observable")},FromObservable.prototype._subscribe=function(subscriber){var ish=this.ish,scheduler=this.scheduler;return null==scheduler?ish[observable_1.$$observable]().subscribe(subscriber):ish[observable_1.$$observable]().subscribe(new observeOn_1.ObserveOnSubscriber(subscriber,scheduler,0))},FromObservable}(Observable_1.Observable);exports.FromObservable=FromObservable},function(module,exports,__webpack_require__){"use strict";function dispatchNext(arg){var value=arg.value,subscriber=arg.subscriber;subscriber.closed||(subscriber.next(value),subscriber.complete())}function dispatchError(arg){var err=arg.err,subscriber=arg.subscriber;subscriber.closed||subscriber.error(err)}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},root_1=__webpack_require__(8),Observable_1=__webpack_require__(0),PromiseObservable=function(_super){function PromiseObservable(promise,scheduler){_super.call(this),this.promise=promise,this.scheduler=scheduler}return __extends(PromiseObservable,_super),PromiseObservable.create=function(promise,scheduler){return new PromiseObservable(promise,scheduler)},PromiseObservable.prototype._subscribe=function(subscriber){var _this=this,promise=this.promise,scheduler=this.scheduler;if(null==scheduler)this._isScalar?subscriber.closed||(subscriber.next(this.value),subscriber.complete()):promise.then(function(value){_this.value=value,_this._isScalar=!0,subscriber.closed||(subscriber.next(value),subscriber.complete())},function(err){subscriber.closed||subscriber.error(err)}).then(null,function(err){root_1.root.setTimeout(function(){throw err})});else if(this._isScalar){if(!subscriber.closed)return scheduler.schedule(dispatchNext,0,{value:this.value,subscriber:subscriber})}else promise.then(function(value){_this.value=value,_this._isScalar=!0,subscriber.closed||subscriber.add(scheduler.schedule(dispatchNext,0,{value:value,subscriber:subscriber}))},function(err){subscriber.closed||subscriber.add(scheduler.schedule(dispatchError,0,{err:err,subscriber:subscriber}))}).then(null,function(err){root_1.root.setTimeout(function(){throw err})})},PromiseObservable}(Observable_1.Observable);exports.PromiseObservable=PromiseObservable},function(module,exports,__webpack_require__){"use strict";function getCORSRequest(){if(root_1.root.XMLHttpRequest)return new root_1.root.XMLHttpRequest;if(root_1.root.XDomainRequest)return new root_1.root.XDomainRequest;throw new Error("CORS is not supported by your browser")}function getXMLHttpRequest(){if(root_1.root.XMLHttpRequest)return new root_1.root.XMLHttpRequest;var progId=void 0;try{for(var progIds=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"],i=0;i<3;i++)try{if(progId=progIds[i],new root_1.root.ActiveXObject(progId))break}catch(e){}return new root_1.root.ActiveXObject(progId)}catch(e){throw new Error("XMLHttpRequest is not supported by your browser")}}function ajaxGet(url,headers){return void 0===headers&&(headers=null),new AjaxObservable({method:"GET",url:url,headers:headers})}function ajaxPost(url,body,headers){return new AjaxObservable({method:"POST",url:url,body:body,headers:headers})}function ajaxDelete(url,headers){return new AjaxObservable({method:"DELETE",url:url,headers:headers})}function ajaxPut(url,body,headers){return new AjaxObservable({method:"PUT",url:url,body:body,headers:headers})}function ajaxPatch(url,body,headers){return new AjaxObservable({method:"PATCH",url:url,body:body,headers:headers})}function ajaxGetJSON(url,headers){return new AjaxObservable({method:"GET",url:url,responseType:"json",headers:headers}).lift(new map_1.MapOperator(function(x,index){return x.response},null))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},root_1=__webpack_require__(8),tryCatch_1=__webpack_require__(9),errorObject_1=__webpack_require__(7),Observable_1=__webpack_require__(0),Subscriber_1=__webpack_require__(1),map_1=__webpack_require__(54);exports.ajaxGet=ajaxGet,exports.ajaxPost=ajaxPost,exports.ajaxDelete=ajaxDelete,exports.ajaxPut=ajaxPut,exports.ajaxPatch=ajaxPatch,exports.ajaxGetJSON=ajaxGetJSON;var AjaxObservable=function(_super){function AjaxObservable(urlOrRequest){_super.call(this);var request={async:!0,createXHR:function(){return this.crossDomain?getCORSRequest.call(this):getXMLHttpRequest()},crossDomain:!1,withCredentials:!1,headers:{},method:"GET",responseType:"json",timeout:0};if("string"==typeof urlOrRequest)request.url=urlOrRequest;else for(var prop in urlOrRequest)urlOrRequest.hasOwnProperty(prop)&&(request[prop]=urlOrRequest[prop]);this.request=request}return __extends(AjaxObservable,_super),AjaxObservable.prototype._subscribe=function(subscriber){return new AjaxSubscriber(subscriber,this.request)},AjaxObservable.create=function(){var create=function(urlOrRequest){return new AjaxObservable(urlOrRequest)};return create.get=ajaxGet,create.post=ajaxPost,create["delete"]=ajaxDelete,create.put=ajaxPut,create.patch=ajaxPatch,create.getJSON=ajaxGetJSON,create}(),AjaxObservable}(Observable_1.Observable);exports.AjaxObservable=AjaxObservable;var AjaxSubscriber=function(_super){function AjaxSubscriber(destination,request){_super.call(this,destination),this.request=request,this.done=!1;var headers=request.headers=request.headers||{};request.crossDomain||headers["X-Requested-With"]||(headers["X-Requested-With"]="XMLHttpRequest"),"Content-Type"in headers||root_1.root.FormData&&request.body instanceof root_1.root.FormData||"undefined"==typeof request.body||(headers["Content-Type"]="application/x-www-form-urlencoded; charset=UTF-8"),request.body=this.serializeBody(request.body,request.headers["Content-Type"]),this.send()}return __extends(AjaxSubscriber,_super),AjaxSubscriber.prototype.next=function(e){this.done=!0;var _a=this,xhr=_a.xhr,request=_a.request,destination=_a.destination,response=new AjaxResponse(e,xhr,request);destination.next(response)},AjaxSubscriber.prototype.send=function(){var _a=this,request=_a.request,_b=_a.request,user=_b.user,method=_b.method,url=_b.url,async=_b.async,password=_b.password,headers=_b.headers,body=_b.body,createXHR=request.createXHR,xhr=tryCatch_1.tryCatch(createXHR).call(request);if(xhr===errorObject_1.errorObject)this.error(errorObject_1.errorObject.e);else{this.xhr=xhr,this.setupEvents(xhr,request);var result=void 0;if(result=user?tryCatch_1.tryCatch(xhr.open).call(xhr,method,url,async,user,password):tryCatch_1.tryCatch(xhr.open).call(xhr,method,url,async),result===errorObject_1.errorObject)return this.error(errorObject_1.errorObject.e),null;if(xhr.timeout=request.timeout,xhr.responseType=request.responseType,"withCredentials"in xhr&&(xhr.withCredentials=!!request.withCredentials),this.setHeaders(xhr,headers),result=body?tryCatch_1.tryCatch(xhr.send).call(xhr,body):tryCatch_1.tryCatch(xhr.send).call(xhr),result===errorObject_1.errorObject)return this.error(errorObject_1.errorObject.e),null}return xhr},AjaxSubscriber.prototype.serializeBody=function(body,contentType){if(!body||"string"==typeof body)return body;if(root_1.root.FormData&&body instanceof root_1.root.FormData)return body;if(contentType){var splitIndex=contentType.indexOf(";");splitIndex!==-1&&(contentType=contentType.substring(0,splitIndex))}switch(contentType){case"application/x-www-form-urlencoded":return Object.keys(body).map(function(key){return encodeURI(key)+"="+encodeURI(body[key])}).join("&");case"application/json":return JSON.stringify(body);default:return body}},AjaxSubscriber.prototype.setHeaders=function(xhr,headers){for(var key in headers)headers.hasOwnProperty(key)&&xhr.setRequestHeader(key,headers[key])},AjaxSubscriber.prototype.setupEvents=function(xhr,request){function xhrTimeout(e){var _a=xhrTimeout,subscriber=_a.subscriber,progressSubscriber=_a.progressSubscriber,request=_a.request;progressSubscriber&&progressSubscriber.error(e),subscriber.error(new AjaxTimeoutError(this,request))}function xhrReadyStateChange(e){var _a=xhrReadyStateChange,subscriber=_a.subscriber,progressSubscriber=_a.progressSubscriber,request=_a.request;if(4===this.readyState){var status_1=1223===this.status?204:this.status,response="text"===this.responseType?this.response||this.responseText:this.response;0===status_1&&(status_1=response?200:0),200<=status_1&&status_1<300?(progressSubscriber&&progressSubscriber.complete(),subscriber.next(e),subscriber.complete()):(progressSubscriber&&progressSubscriber.error(e),subscriber.error(new AjaxError("ajax error "+status_1,this,request)))}}var progressSubscriber=request.progressSubscriber;if(xhr.ontimeout=xhrTimeout,xhrTimeout.request=request,xhrTimeout.subscriber=this,xhrTimeout.progressSubscriber=progressSubscriber,xhr.upload&&"withCredentials"in xhr){if(progressSubscriber){var xhrProgress_1;xhrProgress_1=function(e){var progressSubscriber=xhrProgress_1.progressSubscriber;progressSubscriber.next(e)},root_1.root.XDomainRequest?xhr.onprogress=xhrProgress_1:xhr.upload.onprogress=xhrProgress_1,xhrProgress_1.progressSubscriber=progressSubscriber}var xhrError_1;xhrError_1=function(e){var _a=xhrError_1,progressSubscriber=_a.progressSubscriber,subscriber=_a.subscriber,request=_a.request;progressSubscriber&&progressSubscriber.error(e),subscriber.error(new AjaxError("ajax error",this,request))},xhr.onerror=xhrError_1,xhrError_1.request=request,xhrError_1.subscriber=this,xhrError_1.progressSubscriber=progressSubscriber}xhr.onreadystatechange=xhrReadyStateChange,xhrReadyStateChange.subscriber=this,xhrReadyStateChange.progressSubscriber=progressSubscriber,xhrReadyStateChange.request=request},AjaxSubscriber.prototype.unsubscribe=function(){var _a=this,done=_a.done,xhr=_a.xhr;!done&&xhr&&4!==xhr.readyState&&"function"==typeof xhr.abort&&xhr.abort(),_super.prototype.unsubscribe.call(this)},AjaxSubscriber}(Subscriber_1.Subscriber);exports.AjaxSubscriber=AjaxSubscriber;var AjaxResponse=function(){function AjaxResponse(originalEvent,xhr,request){switch(this.originalEvent=originalEvent,this.xhr=xhr,this.request=request,this.status=xhr.status,this.responseType=xhr.responseType||request.responseType,this.responseType){case"json":"response"in xhr?this.response=xhr.responseType?xhr.response:JSON.parse(xhr.response||xhr.responseText||"null"):this.response=JSON.parse(xhr.responseText||"null");break;case"xml":this.response=xhr.responseXML;break;case"text":default:this.response="response"in xhr?xhr.response:xhr.responseText}}return AjaxResponse}();exports.AjaxResponse=AjaxResponse;var AjaxError=function(_super){function AjaxError(message,xhr,request){_super.call(this,message),this.message=message,this.xhr=xhr,this.request=request,this.status=xhr.status}return __extends(AjaxError,_super),AjaxError}(Error);exports.AjaxError=AjaxError;var AjaxTimeoutError=function(_super){function AjaxTimeoutError(xhr,request){_super.call(this,"ajax timeout",xhr,request)}return __extends(AjaxTimeoutError,_super),AjaxTimeoutError}(AjaxError);exports.AjaxTimeoutError=AjaxTimeoutError},function(module,exports,__webpack_require__){"use strict";function distinctUntilChanged(compare,keySelector){return this.lift(new DistinctUntilChangedOperator(compare,keySelector))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),tryCatch_1=__webpack_require__(9),errorObject_1=__webpack_require__(7);exports.distinctUntilChanged=distinctUntilChanged;var DistinctUntilChangedOperator=function(){function DistinctUntilChangedOperator(compare,keySelector){this.compare=compare,this.keySelector=keySelector}return DistinctUntilChangedOperator.prototype.call=function(subscriber,source){return source.subscribe(new DistinctUntilChangedSubscriber(subscriber,this.compare,this.keySelector))},DistinctUntilChangedOperator}(),DistinctUntilChangedSubscriber=function(_super){function DistinctUntilChangedSubscriber(destination,compare,keySelector){_super.call(this,destination),this.keySelector=keySelector,this.hasKey=!1,"function"==typeof compare&&(this.compare=compare)}return __extends(DistinctUntilChangedSubscriber,_super),DistinctUntilChangedSubscriber.prototype.compare=function(x,y){return x===y},DistinctUntilChangedSubscriber.prototype._next=function(value){var keySelector=this.keySelector,key=value;if(keySelector&&(key=tryCatch_1.tryCatch(this.keySelector)(value),key===errorObject_1.errorObject))return this.destination.error(errorObject_1.errorObject.e);var result=!1;if(this.hasKey){if(result=tryCatch_1.tryCatch(this.compare)(this.key,key),result===errorObject_1.errorObject)return this.destination.error(errorObject_1.errorObject.e)}else this.hasKey=!0;Boolean(result)===!1&&(this.key=key,this.destination.next(value))},DistinctUntilChangedSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function filter(predicate,thisArg){return this.lift(new FilterOperator(predicate,thisArg))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports.filter=filter;var FilterOperator=function(){function FilterOperator(predicate,thisArg){this.predicate=predicate,this.thisArg=thisArg}return FilterOperator.prototype.call=function(subscriber,source){return source.subscribe(new FilterSubscriber(subscriber,this.predicate,this.thisArg))},FilterOperator}(),FilterSubscriber=function(_super){function FilterSubscriber(destination,predicate,thisArg){_super.call(this,destination),this.predicate=predicate,this.thisArg=thisArg,this.count=0,this.predicate=predicate}return __extends(FilterSubscriber,_super),FilterSubscriber.prototype._next=function(value){var result;try{result=this.predicate.call(this.thisArg,value,this.count++)}catch(err){return void this.destination.error(err)}result&&this.destination.next(value)},FilterSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function find(predicate,thisArg){if("function"!=typeof predicate)throw new TypeError("predicate is not a function");return this.lift(new FindValueOperator(predicate,this,(!1),thisArg))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports.find=find;var FindValueOperator=function(){function FindValueOperator(predicate,source,yieldIndex,thisArg){this.predicate=predicate,this.source=source,this.yieldIndex=yieldIndex,this.thisArg=thisArg}return FindValueOperator.prototype.call=function(observer,source){return source.subscribe(new FindValueSubscriber(observer,this.predicate,this.source,this.yieldIndex,this.thisArg))},FindValueOperator}();exports.FindValueOperator=FindValueOperator;var FindValueSubscriber=function(_super){function FindValueSubscriber(destination,predicate,source,yieldIndex,thisArg){_super.call(this,destination),this.predicate=predicate,this.source=source,this.yieldIndex=yieldIndex,this.thisArg=thisArg,this.index=0}return __extends(FindValueSubscriber,_super),FindValueSubscriber.prototype.notifyComplete=function(value){var destination=this.destination;destination.next(value),destination.complete()},FindValueSubscriber.prototype._next=function(value){var _a=this,predicate=_a.predicate,thisArg=_a.thisArg,index=this.index++;try{var result=predicate.call(thisArg||this,value,index,this.source);result&&this.notifyComplete(this.yieldIndex?index:value)}catch(err){this.destination.error(err)}},FindValueSubscriber.prototype._complete=function(){this.notifyComplete(this.yieldIndex?-1:void 0)},FindValueSubscriber}(Subscriber_1.Subscriber);exports.FindValueSubscriber=FindValueSubscriber},function(module,exports,__webpack_require__){"use strict";function merge(){for(var observables=[],_i=0;_i<arguments.length;_i++)observables[_i-0]=arguments[_i];return this.lift.call(mergeStatic.apply(void 0,[this].concat(observables)))}function mergeStatic(){for(var observables=[],_i=0;_i<arguments.length;_i++)observables[_i-0]=arguments[_i];var concurrent=Number.POSITIVE_INFINITY,scheduler=null,last=observables[observables.length-1];return isScheduler_1.isScheduler(last)?(scheduler=observables.pop(),observables.length>1&&"number"==typeof observables[observables.length-1]&&(concurrent=observables.pop())):"number"==typeof last&&(concurrent=observables.pop()),null===scheduler&&1===observables.length&&observables[0]instanceof Observable_1.Observable?observables[0]:new ArrayObservable_1.ArrayObservable(observables,scheduler).lift(new mergeAll_1.MergeAllOperator(concurrent))}var Observable_1=__webpack_require__(0),ArrayObservable_1=__webpack_require__(13),mergeAll_1=__webpack_require__(31),isScheduler_1=__webpack_require__(15);exports.merge=merge,exports.mergeStatic=mergeStatic},function(module,exports,__webpack_require__){"use strict";function mergeMap(project,resultSelector,concurrent){return void 0===concurrent&&(concurrent=Number.POSITIVE_INFINITY),"number"==typeof resultSelector&&(concurrent=resultSelector,resultSelector=null),this.lift(new MergeMapOperator(project,resultSelector,concurrent))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},subscribeToResult_1=__webpack_require__(3),OuterSubscriber_1=__webpack_require__(2);exports.mergeMap=mergeMap;var MergeMapOperator=function(){function MergeMapOperator(project,resultSelector,concurrent){void 0===concurrent&&(concurrent=Number.POSITIVE_INFINITY),this.project=project,this.resultSelector=resultSelector,this.concurrent=concurrent}return MergeMapOperator.prototype.call=function(observer,source){return source.subscribe(new MergeMapSubscriber(observer,this.project,this.resultSelector,this.concurrent))},MergeMapOperator}();exports.MergeMapOperator=MergeMapOperator;var MergeMapSubscriber=function(_super){function MergeMapSubscriber(destination,project,resultSelector,concurrent){void 0===concurrent&&(concurrent=Number.POSITIVE_INFINITY),_super.call(this,destination),this.project=project,this.resultSelector=resultSelector,this.concurrent=concurrent,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0;
+}return __extends(MergeMapSubscriber,_super),MergeMapSubscriber.prototype._next=function(value){this.active<this.concurrent?this._tryNext(value):this.buffer.push(value)},MergeMapSubscriber.prototype._tryNext=function(value){var result,index=this.index++;try{result=this.project(value,index)}catch(err){return void this.destination.error(err)}this.active++,this._innerSub(result,value,index)},MergeMapSubscriber.prototype._innerSub=function(ish,value,index){this.add(subscribeToResult_1.subscribeToResult(this,ish,value,index))},MergeMapSubscriber.prototype._complete=function(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete()},MergeMapSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this.resultSelector?this._notifyResultSelector(outerValue,innerValue,outerIndex,innerIndex):this.destination.next(innerValue)},MergeMapSubscriber.prototype._notifyResultSelector=function(outerValue,innerValue,outerIndex,innerIndex){var result;try{result=this.resultSelector(outerValue,innerValue,outerIndex,innerIndex)}catch(err){return void this.destination.error(err)}this.destination.next(result)},MergeMapSubscriber.prototype.notifyComplete=function(innerSub){var buffer=this.buffer;this.remove(innerSub),this.active--,buffer.length>0?this._next(buffer.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},MergeMapSubscriber}(OuterSubscriber_1.OuterSubscriber);exports.MergeMapSubscriber=MergeMapSubscriber},function(module,exports,__webpack_require__){"use strict";function mergeMapTo(innerObservable,resultSelector,concurrent){return void 0===concurrent&&(concurrent=Number.POSITIVE_INFINITY),"number"==typeof resultSelector&&(concurrent=resultSelector,resultSelector=null),this.lift(new MergeMapToOperator(innerObservable,resultSelector,concurrent))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.mergeMapTo=mergeMapTo;var MergeMapToOperator=function(){function MergeMapToOperator(ish,resultSelector,concurrent){void 0===concurrent&&(concurrent=Number.POSITIVE_INFINITY),this.ish=ish,this.resultSelector=resultSelector,this.concurrent=concurrent}return MergeMapToOperator.prototype.call=function(observer,source){return source.subscribe(new MergeMapToSubscriber(observer,this.ish,this.resultSelector,this.concurrent))},MergeMapToOperator}();exports.MergeMapToOperator=MergeMapToOperator;var MergeMapToSubscriber=function(_super){function MergeMapToSubscriber(destination,ish,resultSelector,concurrent){void 0===concurrent&&(concurrent=Number.POSITIVE_INFINITY),_super.call(this,destination),this.ish=ish,this.resultSelector=resultSelector,this.concurrent=concurrent,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return __extends(MergeMapToSubscriber,_super),MergeMapToSubscriber.prototype._next=function(value){if(this.active<this.concurrent){var resultSelector=this.resultSelector,index=this.index++,ish=this.ish,destination=this.destination;this.active++,this._innerSub(ish,destination,resultSelector,value,index)}else this.buffer.push(value)},MergeMapToSubscriber.prototype._innerSub=function(ish,destination,resultSelector,value,index){this.add(subscribeToResult_1.subscribeToResult(this,ish,value,index))},MergeMapToSubscriber.prototype._complete=function(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete()},MergeMapToSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){var _a=this,resultSelector=_a.resultSelector,destination=_a.destination;resultSelector?this.trySelectResult(outerValue,innerValue,outerIndex,innerIndex):destination.next(innerValue)},MergeMapToSubscriber.prototype.trySelectResult=function(outerValue,innerValue,outerIndex,innerIndex){var result,_a=this,resultSelector=_a.resultSelector,destination=_a.destination;try{result=resultSelector(outerValue,innerValue,outerIndex,innerIndex)}catch(err){return void destination.error(err)}destination.next(result)},MergeMapToSubscriber.prototype.notifyError=function(err){this.destination.error(err)},MergeMapToSubscriber.prototype.notifyComplete=function(innerSub){var buffer=this.buffer;this.remove(innerSub),this.active--,buffer.length>0?this._next(buffer.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},MergeMapToSubscriber}(OuterSubscriber_1.OuterSubscriber);exports.MergeMapToSubscriber=MergeMapToSubscriber},function(module,exports,__webpack_require__){"use strict";function onErrorResumeNext(){for(var nextSources=[],_i=0;_i<arguments.length;_i++)nextSources[_i-0]=arguments[_i];return 1===nextSources.length&&isArray_1.isArray(nextSources[0])&&(nextSources=nextSources[0]),this.lift(new OnErrorResumeNextOperator(nextSources))}function onErrorResumeNextStatic(){for(var nextSources=[],_i=0;_i<arguments.length;_i++)nextSources[_i-0]=arguments[_i];var source=null;return 1===nextSources.length&&isArray_1.isArray(nextSources[0])&&(nextSources=nextSources[0]),source=nextSources.shift(),new FromObservable_1.FromObservable(source,null).lift(new OnErrorResumeNextOperator(nextSources))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},FromObservable_1=__webpack_require__(74),isArray_1=__webpack_require__(14),OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.onErrorResumeNext=onErrorResumeNext,exports.onErrorResumeNextStatic=onErrorResumeNextStatic;var OnErrorResumeNextOperator=function(){function OnErrorResumeNextOperator(nextSources){this.nextSources=nextSources}return OnErrorResumeNextOperator.prototype.call=function(subscriber,source){return source.subscribe(new OnErrorResumeNextSubscriber(subscriber,this.nextSources))},OnErrorResumeNextOperator}(),OnErrorResumeNextSubscriber=function(_super){function OnErrorResumeNextSubscriber(destination,nextSources){_super.call(this,destination),this.destination=destination,this.nextSources=nextSources}return __extends(OnErrorResumeNextSubscriber,_super),OnErrorResumeNextSubscriber.prototype.notifyError=function(error,innerSub){this.subscribeToNextSource()},OnErrorResumeNextSubscriber.prototype.notifyComplete=function(innerSub){this.subscribeToNextSource()},OnErrorResumeNextSubscriber.prototype._error=function(err){this.subscribeToNextSource()},OnErrorResumeNextSubscriber.prototype._complete=function(){this.subscribeToNextSource()},OnErrorResumeNextSubscriber.prototype.subscribeToNextSource=function(){var next=this.nextSources.shift();next?this.add(subscribeToResult_1.subscribeToResult(this,next)):this.destination.complete()},OnErrorResumeNextSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function race(){for(var observables=[],_i=0;_i<arguments.length;_i++)observables[_i-0]=arguments[_i];return 1===observables.length&&isArray_1.isArray(observables[0])&&(observables=observables[0]),this.lift.call(raceStatic.apply(void 0,[this].concat(observables)))}function raceStatic(){for(var observables=[],_i=0;_i<arguments.length;_i++)observables[_i-0]=arguments[_i];if(1===observables.length){if(!isArray_1.isArray(observables[0]))return observables[0];observables=observables[0]}return new ArrayObservable_1.ArrayObservable(observables).lift(new RaceOperator)}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},isArray_1=__webpack_require__(14),ArrayObservable_1=__webpack_require__(13),OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.race=race,exports.raceStatic=raceStatic;var RaceOperator=function(){function RaceOperator(){}return RaceOperator.prototype.call=function(subscriber,source){return source.subscribe(new RaceSubscriber(subscriber))},RaceOperator}();exports.RaceOperator=RaceOperator;var RaceSubscriber=function(_super){function RaceSubscriber(destination){_super.call(this,destination),this.hasFirst=!1,this.observables=[],this.subscriptions=[]}return __extends(RaceSubscriber,_super),RaceSubscriber.prototype._next=function(observable){this.observables.push(observable)},RaceSubscriber.prototype._complete=function(){var observables=this.observables,len=observables.length;if(0===len)this.destination.complete();else{for(var i=0;i<len&&!this.hasFirst;i++){var observable=observables[i],subscription=subscribeToResult_1.subscribeToResult(this,observable,observable,i);this.subscriptions&&this.subscriptions.push(subscription),this.add(subscription)}this.observables=null}},RaceSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){if(!this.hasFirst){this.hasFirst=!0;for(var i=0;i<this.subscriptions.length;i++)if(i!==outerIndex){var subscription=this.subscriptions[i];subscription.unsubscribe(),this.remove(subscription)}this.subscriptions=null}this.destination.next(innerValue)},RaceSubscriber}(OuterSubscriber_1.OuterSubscriber);exports.RaceSubscriber=RaceSubscriber},function(module,exports,__webpack_require__){"use strict";function timeInterval(scheduler){return void 0===scheduler&&(scheduler=async_1.async),this.lift(new TimeIntervalOperator(scheduler))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),async_1=__webpack_require__(10);exports.timeInterval=timeInterval;var TimeInterval=function(){function TimeInterval(value,interval){this.value=value,this.interval=interval}return TimeInterval}();exports.TimeInterval=TimeInterval;var TimeIntervalOperator=function(){function TimeIntervalOperator(scheduler){this.scheduler=scheduler}return TimeIntervalOperator.prototype.call=function(observer,source){return source.subscribe(new TimeIntervalSubscriber(observer,this.scheduler))},TimeIntervalOperator}(),TimeIntervalSubscriber=function(_super){function TimeIntervalSubscriber(destination,scheduler){_super.call(this,destination),this.scheduler=scheduler,this.lastTime=0,this.lastTime=scheduler.now()}return __extends(TimeIntervalSubscriber,_super),TimeIntervalSubscriber.prototype._next=function(value){var now=this.scheduler.now(),span=now-this.lastTime;this.lastTime=now,this.destination.next(new TimeInterval(value,span))},TimeIntervalSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function timestamp(scheduler){return void 0===scheduler&&(scheduler=async_1.async),this.lift(new TimestampOperator(scheduler))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),async_1=__webpack_require__(10);exports.timestamp=timestamp;var Timestamp=function(){function Timestamp(value,timestamp){this.value=value,this.timestamp=timestamp}return Timestamp}();exports.Timestamp=Timestamp;var TimestampOperator=function(){function TimestampOperator(scheduler){this.scheduler=scheduler}return TimestampOperator.prototype.call=function(observer,source){return source.subscribe(new TimestampSubscriber(observer,this.scheduler))},TimestampOperator}(),TimestampSubscriber=function(_super){function TimestampSubscriber(destination,scheduler){_super.call(this,destination),this.scheduler=scheduler}return __extends(TimestampSubscriber,_super),TimestampSubscriber.prototype._next=function(value){var now=this.scheduler.now();this.destination.next(new Timestamp(value,now))},TimestampSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},AsyncAction_1=__webpack_require__(23),AsyncScheduler_1=__webpack_require__(24),VirtualTimeScheduler=function(_super){function VirtualTimeScheduler(SchedulerAction,maxFrames){var _this=this;void 0===SchedulerAction&&(SchedulerAction=VirtualAction),void 0===maxFrames&&(maxFrames=Number.POSITIVE_INFINITY),_super.call(this,SchedulerAction,function(){return _this.frame}),this.maxFrames=maxFrames,this.frame=0,this.index=-1}return __extends(VirtualTimeScheduler,_super),VirtualTimeScheduler.prototype.flush=function(){for(var error,action,_a=this,actions=_a.actions,maxFrames=_a.maxFrames;(action=actions.shift())&&(this.frame=action.delay)<=maxFrames&&!(error=action.execute(action.state,action.delay)););if(error){for(;action=actions.shift();)action.unsubscribe();throw error}},VirtualTimeScheduler.frameTimeFactor=10,VirtualTimeScheduler}(AsyncScheduler_1.AsyncScheduler);exports.VirtualTimeScheduler=VirtualTimeScheduler;var VirtualAction=function(_super){function VirtualAction(scheduler,work,index){void 0===index&&(index=scheduler.index+=1),_super.call(this,scheduler,work),this.scheduler=scheduler,this.work=work,this.index=index,this.index=scheduler.index=index}return __extends(VirtualAction,_super),VirtualAction.prototype.schedule=function(state,delay){if(void 0===delay&&(delay=0),!this.id)return _super.prototype.schedule.call(this,state,delay);var action=new VirtualAction(this.scheduler,this.work);return this.add(action),action.schedule(state,delay)},VirtualAction.prototype.requestAsyncId=function(scheduler,id,delay){void 0===delay&&(delay=0),this.delay=scheduler.frame+delay;var actions=scheduler.actions;return actions.push(this),actions.sort(VirtualAction.sortActions),!0},VirtualAction.prototype.recycleAsyncId=function(scheduler,id,delay){void 0===delay&&(delay=0)},VirtualAction.sortActions=function(a,b){return a.delay===b.delay?a.index===b.index?0:a.index>b.index?1:-1:a.delay>b.delay?1:-1},VirtualAction}(AsyncAction_1.AsyncAction);exports.VirtualAction=VirtualAction},function(module,exports,__webpack_require__){"use strict";var AsapAction_1=__webpack_require__(408),AsapScheduler_1=__webpack_require__(409);exports.asap=new AsapScheduler_1.AsapScheduler(AsapAction_1.AsapAction)},function(module,exports,__webpack_require__){"use strict";var QueueAction_1=__webpack_require__(410),QueueScheduler_1=__webpack_require__(411);exports.queue=new QueueScheduler_1.QueueScheduler(QueueAction_1.QueueAction)},function(module,exports){"use strict";var SubscriptionLog=function(){function SubscriptionLog(subscribedFrame,unsubscribedFrame){void 0===unsubscribedFrame&&(unsubscribedFrame=Number.POSITIVE_INFINITY),this.subscribedFrame=subscribedFrame,this.unsubscribedFrame=unsubscribedFrame}return SubscriptionLog}();exports.SubscriptionLog=SubscriptionLog},function(module,exports,__webpack_require__){"use strict";var SubscriptionLog_1=__webpack_require__(90),SubscriptionLoggable=function(){function SubscriptionLoggable(){this.subscriptions=[]}return SubscriptionLoggable.prototype.logSubscribedFrame=function(){return this.subscriptions.push(new SubscriptionLog_1.SubscriptionLog(this.scheduler.now())),this.subscriptions.length-1},SubscriptionLoggable.prototype.logUnsubscribedFrame=function(index){var subscriptionLogs=this.subscriptions,oldSubscriptionLog=subscriptionLogs[index];subscriptionLogs[index]=new SubscriptionLog_1.SubscriptionLog(oldSubscriptionLog.subscribedFrame,this.scheduler.now())},SubscriptionLoggable}();exports.SubscriptionLoggable=SubscriptionLoggable},function(module,exports){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},TimeoutError=function(_super){function TimeoutError(){var err=_super.call(this,"Timeout has occurred");this.name=err.name="TimeoutError",this.stack=err.stack,this.message=err.message}return __extends(TimeoutError,_super),TimeoutError}(Error);exports.TimeoutError=TimeoutError},function(module,exports){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},UnsubscriptionError=function(_super){function UnsubscriptionError(errors){_super.call(this),this.errors=errors;var err=Error.call(this,errors?errors.length+" errors occurred during unsubscription:\n  "+errors.map(function(err,i){return i+1+") "+err.toString()}).join("\n  "):"");this.name=err.name="UnsubscriptionError",this.stack=err.stack,this.message=err.message}return __extends(UnsubscriptionError,_super),UnsubscriptionError}(Error);exports.UnsubscriptionError=UnsubscriptionError},function(module,exports){"use strict";function applyMixins(derivedCtor,baseCtors){for(var i=0,len=baseCtors.length;i<len;i++)for(var baseCtor=baseCtors[i],propertyKeys=Object.getOwnPropertyNames(baseCtor.prototype),j=0,len2=propertyKeys.length;j<len2;j++){var name_1=propertyKeys[j];derivedCtor.prototype[name_1]=baseCtor.prototype[name_1]}}exports.applyMixins=applyMixins},function(module,exports){"use strict";exports.isArrayLike=function(x){return x&&"number"==typeof x.length}},function(module,exports){"use strict";function isObject(x){return null!=x&&"object"==typeof x}exports.isObject=isObject},function(module,exports){"use strict";function isPromise(value){return value&&"function"!=typeof value.subscribe&&"function"==typeof value.then}exports.isPromise=isPromise},function(module,exports){"use strict";function noop(){}exports.noop=noop},function(module,exports,__webpack_require__){function Manager(uri,opts){return this instanceof Manager?(uri&&"object"==typeof uri&&(opts=uri,uri=void 0),opts=opts||{},opts.path=opts.path||"/socket.io",this.nsps={},this.subs=[],this.opts=opts,this.reconnection(opts.reconnection!==!1),this.reconnectionAttempts(opts.reconnectionAttempts||1/0),this.reconnectionDelay(opts.reconnectionDelay||1e3),this.reconnectionDelayMax(opts.reconnectionDelayMax||5e3),this.randomizationFactor(opts.randomizationFactor||.5),this.backoff=new Backoff({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(null==opts.timeout?2e4:opts.timeout),this.readyState="closed",this.uri=uri,this.connecting=[],this.lastPing=null,this.encoding=!1,this.packetBuffer=[],this.encoder=new parser.Encoder,this.decoder=new parser.Decoder,this.autoConnect=opts.autoConnect!==!1,void(this.autoConnect&&this.open())):new Manager(uri,opts)}var eio=__webpack_require__(429),Socket=__webpack_require__(101),Emitter=__webpack_require__(26),parser=__webpack_require__(61),on=__webpack_require__(100),bind=__webpack_require__(102),debug=__webpack_require__(18)("socket.io-client:manager"),indexOf=__webpack_require__(107),Backoff=__webpack_require__(426),has=Object.prototype.hasOwnProperty;module.exports=Manager,Manager.prototype.emitAll=function(){this.emit.apply(this,arguments);for(var nsp in this.nsps)has.call(this.nsps,nsp)&&this.nsps[nsp].emit.apply(this.nsps[nsp],arguments)},Manager.prototype.updateSocketIds=function(){for(var nsp in this.nsps)has.call(this.nsps,nsp)&&(this.nsps[nsp].id=this.engine.id)},Emitter(Manager.prototype),Manager.prototype.reconnection=function(v){return arguments.length?(this._reconnection=!!v,this):this._reconnection},Manager.prototype.reconnectionAttempts=function(v){return arguments.length?(this._reconnectionAttempts=v,this):this._reconnectionAttempts},Manager.prototype.reconnectionDelay=function(v){return arguments.length?(this._reconnectionDelay=v,this.backoff&&this.backoff.setMin(v),this):this._reconnectionDelay},Manager.prototype.randomizationFactor=function(v){return arguments.length?(this._randomizationFactor=v,this.backoff&&this.backoff.setJitter(v),this):this._randomizationFactor},Manager.prototype.reconnectionDelayMax=function(v){return arguments.length?(this._reconnectionDelayMax=v,this.backoff&&this.backoff.setMax(v),this):this._reconnectionDelayMax},Manager.prototype.timeout=function(v){return arguments.length?(this._timeout=v,this):this._timeout},Manager.prototype.maybeReconnectOnOpen=function(){!this.reconnecting&&this._reconnection&&0===this.backoff.attempts&&this.reconnect()},Manager.prototype.open=Manager.prototype.connect=function(fn,opts){if(debug("readyState %s",this.readyState),~this.readyState.indexOf("open"))return this;debug("opening %s",this.uri),this.engine=eio(this.uri,this.opts);var socket=this.engine,self=this;this.readyState="opening",this.skipReconnect=!1;var openSub=on(socket,"open",function(){self.onopen(),fn&&fn()}),errorSub=on(socket,"error",function(data){if(debug("connect_error"),self.cleanup(),self.readyState="closed",self.emitAll("connect_error",data),fn){var err=new Error("Connection error");err.data=data,fn(err)}else self.maybeReconnectOnOpen()});if(!1!==this._timeout){var timeout=this._timeout;debug("connect attempt will timeout after %d",timeout);var timer=setTimeout(function(){debug("connect attempt timed out after %d",timeout),openSub.destroy(),socket.close(),socket.emit("error","timeout"),self.emitAll("connect_timeout",timeout)},timeout);this.subs.push({destroy:function(){clearTimeout(timer)}})}return this.subs.push(openSub),this.subs.push(errorSub),this},Manager.prototype.onopen=function(){debug("open"),this.cleanup(),this.readyState="open",this.emit("open");var socket=this.engine;this.subs.push(on(socket,"data",bind(this,"ondata"))),this.subs.push(on(socket,"ping",bind(this,"onping"))),this.subs.push(on(socket,"pong",bind(this,"onpong"))),this.subs.push(on(socket,"error",bind(this,"onerror"))),this.subs.push(on(socket,"close",bind(this,"onclose"))),this.subs.push(on(this.decoder,"decoded",bind(this,"ondecoded")))},Manager.prototype.onping=function(){this.lastPing=new Date,this.emitAll("ping")},Manager.prototype.onpong=function(){this.emitAll("pong",new Date-this.lastPing)},Manager.prototype.ondata=function(data){this.decoder.add(data)},Manager.prototype.ondecoded=function(packet){this.emit("packet",packet)},Manager.prototype.onerror=function(err){debug("error",err),this.emitAll("error",err)},Manager.prototype.socket=function(nsp,opts){function onConnecting(){~indexOf(self.connecting,socket)||self.connecting.push(socket)}var socket=this.nsps[nsp];if(!socket){socket=new Socket(this,nsp,opts),this.nsps[nsp]=socket;var self=this;socket.on("connecting",onConnecting),socket.on("connect",function(){socket.id=self.engine.id}),this.autoConnect&&onConnecting()}return socket},Manager.prototype.destroy=function(socket){var index=indexOf(this.connecting,socket);~index&&this.connecting.splice(index,1),this.connecting.length||this.close()},Manager.prototype.packet=function(packet){debug("writing packet %j",packet);var self=this;packet.query&&0===packet.type&&(packet.nsp+="?"+packet.query),self.encoding?self.packetBuffer.push(packet):(self.encoding=!0,this.encoder.encode(packet,function(encodedPackets){for(var i=0;i<encodedPackets.length;i++)self.engine.write(encodedPackets[i],packet.options);self.encoding=!1,self.processPacketQueue()}))},Manager.prototype.processPacketQueue=function(){if(this.packetBuffer.length>0&&!this.encoding){var pack=this.packetBuffer.shift();this.packet(pack)}},Manager.prototype.cleanup=function(){debug("cleanup");for(var subsLength=this.subs.length,i=0;i<subsLength;i++){var sub=this.subs.shift();sub.destroy()}this.packetBuffer=[],this.encoding=!1,this.lastPing=null,this.decoder.destroy()},Manager.prototype.close=Manager.prototype.disconnect=function(){debug("disconnect"),this.skipReconnect=!0,this.reconnecting=!1,"opening"===this.readyState&&this.cleanup(),this.backoff.reset(),this.readyState="closed",this.engine&&this.engine.close()},Manager.prototype.onclose=function(reason){debug("onclose"),this.cleanup(),this.backoff.reset(),this.readyState="closed",this.emit("close",reason),this._reconnection&&!this.skipReconnect&&this.reconnect()},Manager.prototype.reconnect=function(){if(this.reconnecting||this.skipReconnect)return this;var self=this;if(this.backoff.attempts>=this._reconnectionAttempts)debug("reconnect failed"),this.backoff.reset(),this.emitAll("reconnect_failed"),this.reconnecting=!1;else{var delay=this.backoff.duration();debug("will wait %dms before reconnect attempt",delay),this.reconnecting=!0;var timer=setTimeout(function(){self.skipReconnect||(debug("attempting reconnect"),self.emitAll("reconnect_attempt",self.backoff.attempts),self.emitAll("reconnecting",self.backoff.attempts),self.skipReconnect||self.open(function(err){err?(debug("reconnect attempt error"),self.reconnecting=!1,self.reconnect(),self.emitAll("reconnect_error",err.data)):(debug("reconnect success"),self.onreconnect())}))},delay);this.subs.push({destroy:function(){clearTimeout(timer)}})}},Manager.prototype.onreconnect=function(){var attempt=this.backoff.attempts;this.reconnecting=!1,this.backoff.reset(),this.updateSocketIds(),this.emitAll("reconnect",attempt)}},function(module,exports){function on(obj,ev,fn){return obj.on(ev,fn),{destroy:function(){obj.removeListener(ev,fn)}}}module.exports=on},function(module,exports,__webpack_require__){function Socket(io,nsp,opts){this.io=io,this.nsp=nsp,this.json=this,this.ids=0,this.acks={},this.receiveBuffer=[],this.sendBuffer=[],this.connected=!1,this.disconnected=!0,opts&&opts.query&&(this.query=opts.query),this.io.autoConnect&&this.open()}var parser=__webpack_require__(61),Emitter=__webpack_require__(26),toArray=__webpack_require__(451),on=__webpack_require__(100),bind=__webpack_require__(102),debug=__webpack_require__(18)("socket.io-client:socket"),hasBin=__webpack_require__(106);module.exports=exports=Socket;var events={connect:1,connect_error:1,connect_timeout:1,connecting:1,disconnect:1,error:1,reconnect:1,reconnect_attempt:1,reconnect_failed:1,reconnect_error:1,reconnecting:1,ping:1,pong:1},emit=Emitter.prototype.emit;Emitter(Socket.prototype),Socket.prototype.subEvents=function(){if(!this.subs){var io=this.io;this.subs=[on(io,"open",bind(this,"onopen")),on(io,"packet",bind(this,"onpacket")),on(io,"close",bind(this,"onclose"))]}},Socket.prototype.open=Socket.prototype.connect=function(){return this.connected?this:(this.subEvents(),this.io.open(),"open"===this.io.readyState&&this.onopen(),this.emit("connecting"),this)},Socket.prototype.send=function(){var args=toArray(arguments);return args.unshift("message"),this.emit.apply(this,args),this},Socket.prototype.emit=function(ev){if(events.hasOwnProperty(ev))return emit.apply(this,arguments),this;var args=toArray(arguments),parserType=parser.EVENT;hasBin(args)&&(parserType=parser.BINARY_EVENT);var packet={type:parserType,data:args};return packet.options={},packet.options.compress=!this.flags||!1!==this.flags.compress,"function"==typeof args[args.length-1]&&(debug("emitting packet with ack id %d",this.ids),this.acks[this.ids]=args.pop(),packet.id=this.ids++),this.connected?this.packet(packet):this.sendBuffer.push(packet),delete this.flags,this},Socket.prototype.packet=function(packet){packet.nsp=this.nsp,this.io.packet(packet)},Socket.prototype.onopen=function(){debug("transport is open - connecting"),"/"!==this.nsp&&(this.query?this.packet({type:parser.CONNECT,query:this.query}):this.packet({type:parser.CONNECT}))},Socket.prototype.onclose=function(reason){debug("close (%s)",reason),this.connected=!1,this.disconnected=!0,delete this.id,this.emit("disconnect",reason)},Socket.prototype.onpacket=function(packet){if(packet.nsp===this.nsp)switch(packet.type){case parser.CONNECT:this.onconnect();break;case parser.EVENT:this.onevent(packet);break;case parser.BINARY_EVENT:this.onevent(packet);break;case parser.ACK:this.onack(packet);break;case parser.BINARY_ACK:this.onack(packet);break;case parser.DISCONNECT:this.ondisconnect();break;case parser.ERROR:this.emit("error",packet.data)}},Socket.prototype.onevent=function(packet){var args=packet.data||[];debug("emitting event %j",args),null!=packet.id&&(debug("attaching ack callback to event"),args.push(this.ack(packet.id))),this.connected?emit.apply(this,args):this.receiveBuffer.push(args)},Socket.prototype.ack=function(id){var self=this,sent=!1;return function(){if(!sent){sent=!0;var args=toArray(arguments);debug("sending ack %j",args);var type=hasBin(args)?parser.BINARY_ACK:parser.ACK;self.packet({type:type,id:id,data:args})}}},Socket.prototype.onack=function(packet){var ack=this.acks[packet.id];"function"==typeof ack?(debug("calling ack %s with %j",packet.id,packet.data),ack.apply(this,packet.data),delete this.acks[packet.id]):debug("bad ack %s",packet.id)},Socket.prototype.onconnect=function(){this.connected=!0,this.disconnected=!1,this.emit("connect"),this.emitBuffered()},Socket.prototype.emitBuffered=function(){var i;for(i=0;i<this.receiveBuffer.length;i++)emit.apply(this,this.receiveBuffer[i]);for(this.receiveBuffer=[],i=0;i<this.sendBuffer.length;i++)this.packet(this.sendBuffer[i]);this.sendBuffer=[]},Socket.prototype.ondisconnect=function(){debug("server disconnect (%s)",this.nsp),this.destroy(),this.onclose("io server disconnect")},Socket.prototype.destroy=function(){if(this.subs){for(var i=0;i<this.subs.length;i++)this.subs[i].destroy();this.subs=null}this.io.destroy(this)},Socket.prototype.close=Socket.prototype.disconnect=function(){return this.connected&&(debug("performing disconnect (%s)",this.nsp),this.packet({type:parser.DISCONNECT})),this.destroy(),this.connected&&this.onclose("io client disconnect"),this},Socket.prototype.compress=function(compress){return this.flags=this.flags||{},this.flags.compress=compress,this}},function(module,exports){var slice=[].slice;module.exports=function(obj,fn){if("string"==typeof fn&&(fn=obj[fn]),"function"!=typeof fn)throw new Error("bind() requires a function");var args=slice.call(arguments,2);return function(){return fn.apply(obj,args.concat(slice.call(arguments)))}}},function(module,exports,__webpack_require__){(function(global){function polling(opts){var xhr,xd=!1,xs=!1,jsonp=!1!==opts.jsonp;if(global.location){var isSSL="https:"===location.protocol,port=location.port;port||(port=isSSL?443:80),xd=opts.hostname!==location.hostname||port!==opts.port,xs=opts.secure!==isSSL}if(opts.xdomain=xd,opts.xscheme=xs,xhr=new XMLHttpRequest(opts),"open"in xhr&&!opts.forceJSONP)return new XHR(opts);if(!jsonp)throw new Error("JSONP disabled");return new JSONP(opts)}var XMLHttpRequest=__webpack_require__(59),XHR=__webpack_require__(433),JSONP=__webpack_require__(432),websocket=__webpack_require__(434);exports.polling=polling,exports.websocket=websocket}).call(exports,__webpack_require__(4))},function(module,exports,__webpack_require__){function Polling(opts){var forceBase64=opts&&opts.forceBase64;hasXHR2&&!forceBase64||(this.supportsBinary=!1),Transport.call(this,opts)}var Transport=__webpack_require__(58),parseqs=__webpack_require__(60),parser=__webpack_require__(21),inherit=__webpack_require__(40),yeast=__webpack_require__(105),debug=__webpack_require__(18)("engine.io-client:polling");module.exports=Polling;var hasXHR2=function(){var XMLHttpRequest=__webpack_require__(59),xhr=new XMLHttpRequest({xdomain:!1});return null!=xhr.responseType}();inherit(Polling,Transport),Polling.prototype.name="polling",Polling.prototype.doOpen=function(){this.poll()},Polling.prototype.pause=function(onPause){function pause(){debug("paused"),self.readyState="paused",onPause()}var self=this;if(this.readyState="pausing",this.polling||!this.writable){var total=0;this.polling&&(debug("we are currently polling - waiting to pause"),total++,this.once("pollComplete",function(){debug("pre-pause polling complete"),--total||pause()})),this.writable||(debug("we are currently writing - waiting to pause"),total++,this.once("drain",function(){
+debug("pre-pause writing complete"),--total||pause()}))}else pause()},Polling.prototype.poll=function(){debug("polling"),this.polling=!0,this.doPoll(),this.emit("poll")},Polling.prototype.onData=function(data){var self=this;debug("polling got data %s",data);var callback=function(packet,index,total){return"opening"===self.readyState&&self.onOpen(),"close"===packet.type?(self.onClose(),!1):void self.onPacket(packet)};parser.decodePayload(data,this.socket.binaryType,callback),"closed"!==this.readyState&&(this.polling=!1,this.emit("pollComplete"),"open"===this.readyState?this.poll():debug('ignoring poll - transport state "%s"',this.readyState))},Polling.prototype.doClose=function(){function close(){debug("writing close packet"),self.write([{type:"close"}])}var self=this;"open"===this.readyState?(debug("transport open - closing"),close()):(debug("transport not open - deferring close"),this.once("open",close))},Polling.prototype.write=function(packets){var self=this;this.writable=!1;var callbackfn=function(){self.writable=!0,self.emit("drain")};parser.encodePayload(packets,this.supportsBinary,function(data){self.doWrite(data,callbackfn)})},Polling.prototype.uri=function(){var query=this.query||{},schema=this.secure?"https":"http",port="";!1!==this.timestampRequests&&(query[this.timestampParam]=yeast()),this.supportsBinary||query.sid||(query.b64=1),query=parseqs.encode(query),this.port&&("https"===schema&&443!==Number(this.port)||"http"===schema&&80!==Number(this.port))&&(port=":"+this.port),query.length&&(query="?"+query);var ipv6=this.hostname.indexOf(":")!==-1;return schema+"://"+(ipv6?"["+this.hostname+"]":this.hostname)+port+this.path+query}},function(module,exports){"use strict";function encode(num){var encoded="";do encoded=alphabet[num%length]+encoded,num=Math.floor(num/length);while(num>0);return encoded}function decode(str){var decoded=0;for(i=0;i<str.length;i++)decoded=decoded*length+map[str.charAt(i)];return decoded}function yeast(){var now=encode(+new Date);return now!==prev?(seed=0,prev=now):now+"."+encode(seed++)}for(var prev,alphabet="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),length=64,map={},seed=0,i=0;i<length;i++)map[alphabet[i]]=i;yeast.encode=encode,yeast.decode=decode,module.exports=yeast},function(module,exports,__webpack_require__){(function(global){function hasBinary(data){function _hasBinary(obj){if(!obj)return!1;if(global.Buffer&&global.Buffer.isBuffer&&global.Buffer.isBuffer(obj)||global.ArrayBuffer&&obj instanceof ArrayBuffer||global.Blob&&obj instanceof Blob||global.File&&obj instanceof File)return!0;if(isArray(obj)){for(var i=0;i<obj.length;i++)if(_hasBinary(obj[i]))return!0}else if(obj&&"object"==typeof obj){obj.toJSON&&"function"==typeof obj.toJSON&&(obj=obj.toJSON());for(var key in obj)if(Object.prototype.hasOwnProperty.call(obj,key)&&_hasBinary(obj[key]))return!0}return!1}return _hasBinary(data)}var isArray=__webpack_require__(443);module.exports=hasBinary}).call(exports,__webpack_require__(4))},function(module,exports){var indexOf=[].indexOf;module.exports=function(arr,obj){if(indexOf)return arr.indexOf(obj);for(var i=0;i<arr.length;++i)if(arr[i]===obj)return i;return-1}},function(module,exports){var re=/^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,parts=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];module.exports=function(str){var src=str,b=str.indexOf("["),e=str.indexOf("]");b!=-1&&e!=-1&&(str=str.substring(0,b)+str.substring(b,e).replace(/:/g,";")+str.substring(e,str.length));for(var m=re.exec(str||""),uri={},i=14;i--;)uri[parts[i]]=m[i]||"";return b!=-1&&e!=-1&&(uri.source=src,uri.host=uri.host.substring(1,uri.host.length-1).replace(/;/g,":"),uri.authority=uri.authority.replace("[","").replace("]","").replace(/;/g,":"),uri.ipv6uri=!0),uri}},function(module,exports,__webpack_require__){(function(global){function isBuf(obj){return global.Buffer&&global.Buffer.isBuffer(obj)||global.ArrayBuffer&&obj instanceof ArrayBuffer}module.exports=isBuf}).call(exports,__webpack_require__(4))},function(module,exports,__webpack_require__){"use strict";function PassThrough(options){return this instanceof PassThrough?void Transform.call(this,options):new PassThrough(options)}module.exports=PassThrough;var Transform=__webpack_require__(63),util=__webpack_require__(27);util.inherits=__webpack_require__(28),util.inherits(PassThrough,Transform),PassThrough.prototype._transform=function(chunk,encoding,cb){cb(null,chunk)}},function(module,exports,__webpack_require__){"use strict";(function(process){function prependListener(emitter,event,fn){return"function"==typeof emitter.prependListener?emitter.prependListener(event,fn):void(emitter._events&&emitter._events[event]?isArray(emitter._events[event])?emitter._events[event].unshift(fn):emitter._events[event]=[fn,emitter._events[event]]:emitter.on(event,fn))}function ReadableState(options,stream){Duplex=Duplex||__webpack_require__(19),options=options||{},this.objectMode=!!options.objectMode,stream instanceof Duplex&&(this.objectMode=this.objectMode||!!options.readableObjectMode);var hwm=options.highWaterMark,defaultHwm=this.objectMode?16:16384;this.highWaterMark=hwm||0===hwm?hwm:defaultHwm,this.highWaterMark=~~this.highWaterMark,this.buffer=new BufferList,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.defaultEncoding=options.defaultEncoding||"utf8",this.ranOut=!1,this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,options.encoding&&(StringDecoder||(StringDecoder=__webpack_require__(114).StringDecoder),this.decoder=new StringDecoder(options.encoding),this.encoding=options.encoding)}function Readable(options){return Duplex=Duplex||__webpack_require__(19),this instanceof Readable?(this._readableState=new ReadableState(options,this),this.readable=!0,options&&"function"==typeof options.read&&(this._read=options.read),void Stream.call(this)):new Readable(options)}function readableAddChunk(stream,state,chunk,encoding,addToFront){var er=chunkInvalid(state,chunk);if(er)stream.emit("error",er);else if(null===chunk)state.reading=!1,onEofChunk(stream,state);else if(state.objectMode||chunk&&chunk.length>0)if(state.ended&&!addToFront){var e=new Error("stream.push() after EOF");stream.emit("error",e)}else if(state.endEmitted&&addToFront){var _e=new Error("stream.unshift() after end event");stream.emit("error",_e)}else{var skipAdd;!state.decoder||addToFront||encoding||(chunk=state.decoder.write(chunk),skipAdd=!state.objectMode&&0===chunk.length),addToFront||(state.reading=!1),skipAdd||(state.flowing&&0===state.length&&!state.sync?(stream.emit("data",chunk),stream.read(0)):(state.length+=state.objectMode?1:chunk.length,addToFront?state.buffer.unshift(chunk):state.buffer.push(chunk),state.needReadable&&emitReadable(stream))),maybeReadMore(stream,state)}else addToFront||(state.reading=!1);return needMoreData(state)}function needMoreData(state){return!state.ended&&(state.needReadable||state.length<state.highWaterMark||0===state.length)}function computeNewHighWaterMark(n){return n>=MAX_HWM?n=MAX_HWM:(n--,n|=n>>>1,n|=n>>>2,n|=n>>>4,n|=n>>>8,n|=n>>>16,n++),n}function howMuchToRead(n,state){return n<=0||0===state.length&&state.ended?0:state.objectMode?1:n!==n?state.flowing&&state.length?state.buffer.head.data.length:state.length:(n>state.highWaterMark&&(state.highWaterMark=computeNewHighWaterMark(n)),n<=state.length?n:state.ended?state.length:(state.needReadable=!0,0))}function chunkInvalid(state,chunk){var er=null;return Buffer.isBuffer(chunk)||"string"==typeof chunk||null===chunk||void 0===chunk||state.objectMode||(er=new TypeError("Invalid non-string/buffer chunk")),er}function onEofChunk(stream,state){if(!state.ended){if(state.decoder){var chunk=state.decoder.end();chunk&&chunk.length&&(state.buffer.push(chunk),state.length+=state.objectMode?1:chunk.length)}state.ended=!0,emitReadable(stream)}}function emitReadable(stream){var state=stream._readableState;state.needReadable=!1,state.emittedReadable||(debug("emitReadable",state.flowing),state.emittedReadable=!0,state.sync?processNextTick(emitReadable_,stream):emitReadable_(stream))}function emitReadable_(stream){debug("emit readable"),stream.emit("readable"),flow(stream)}function maybeReadMore(stream,state){state.readingMore||(state.readingMore=!0,processNextTick(maybeReadMore_,stream,state))}function maybeReadMore_(stream,state){for(var len=state.length;!state.reading&&!state.flowing&&!state.ended&&state.length<state.highWaterMark&&(debug("maybeReadMore read 0"),stream.read(0),len!==state.length);)len=state.length;state.readingMore=!1}function pipeOnDrain(src){return function(){var state=src._readableState;debug("pipeOnDrain",state.awaitDrain),state.awaitDrain&&state.awaitDrain--,0===state.awaitDrain&&EElistenerCount(src,"data")&&(state.flowing=!0,flow(src))}}function nReadingNextTick(self){debug("readable nexttick read 0"),self.read(0)}function resume(stream,state){state.resumeScheduled||(state.resumeScheduled=!0,processNextTick(resume_,stream,state))}function resume_(stream,state){state.reading||(debug("resume read 0"),stream.read(0)),state.resumeScheduled=!1,state.awaitDrain=0,stream.emit("resume"),flow(stream),state.flowing&&!state.reading&&stream.read(0)}function flow(stream){var state=stream._readableState;for(debug("flow",state.flowing);state.flowing&&null!==stream.read(););}function fromList(n,state){if(0===state.length)return null;var ret;return state.objectMode?ret=state.buffer.shift():!n||n>=state.length?(ret=state.decoder?state.buffer.join(""):1===state.buffer.length?state.buffer.head.data:state.buffer.concat(state.length),state.buffer.clear()):ret=fromListPartial(n,state.buffer,state.decoder),ret}function fromListPartial(n,list,hasStrings){var ret;return n<list.head.data.length?(ret=list.head.data.slice(0,n),list.head.data=list.head.data.slice(n)):ret=n===list.head.data.length?list.shift():hasStrings?copyFromBufferString(n,list):copyFromBuffer(n,list),ret}function copyFromBufferString(n,list){var p=list.head,c=1,ret=p.data;for(n-=ret.length;p=p.next;){var str=p.data,nb=n>str.length?str.length:n;if(ret+=nb===str.length?str:str.slice(0,n),n-=nb,0===n){nb===str.length?(++c,p.next?list.head=p.next:list.head=list.tail=null):(list.head=p,p.data=str.slice(nb));break}++c}return list.length-=c,ret}function copyFromBuffer(n,list){var ret=bufferShim.allocUnsafe(n),p=list.head,c=1;for(p.data.copy(ret),n-=p.data.length;p=p.next;){var buf=p.data,nb=n>buf.length?buf.length:n;if(buf.copy(ret,ret.length-n,0,nb),n-=nb,0===n){nb===buf.length?(++c,p.next?list.head=p.next:list.head=list.tail=null):(list.head=p,p.data=buf.slice(nb));break}++c}return list.length-=c,ret}function endReadable(stream){var state=stream._readableState;if(state.length>0)throw new Error('"endReadable()" called on non-empty stream');state.endEmitted||(state.ended=!0,processNextTick(endReadableNT,state,stream))}function endReadableNT(state,stream){state.endEmitted||0!==state.length||(state.endEmitted=!0,stream.readable=!1,stream.emit("end"))}function forEach(xs,f){for(var i=0,l=xs.length;i<l;i++)f(xs[i],i)}function indexOf(xs,x){for(var i=0,l=xs.length;i<l;i++)if(xs[i]===x)return i;return-1}module.exports=Readable;var Duplex,processNextTick=__webpack_require__(66),isArray=__webpack_require__(462);Readable.ReadableState=ReadableState;var Stream,EElistenerCount=(__webpack_require__(42).EventEmitter,function(emitter,type){return emitter.listeners(type).length});!function(){try{Stream=__webpack_require__(68)}catch(_){}finally{Stream||(Stream=__webpack_require__(42).EventEmitter)}}();var Buffer=__webpack_require__(12).Buffer,bufferShim=__webpack_require__(65),util=__webpack_require__(27);util.inherits=__webpack_require__(28);var debugUtil=__webpack_require__(477),debug=void 0;debug=debugUtil&&debugUtil.debuglog?debugUtil.debuglog("stream"):function(){};var StringDecoder,BufferList=__webpack_require__(461);util.inherits(Readable,Stream),Readable.prototype.push=function(chunk,encoding){var state=this._readableState;return state.objectMode||"string"!=typeof chunk||(encoding=encoding||state.defaultEncoding,encoding!==state.encoding&&(chunk=bufferShim.from(chunk,encoding),encoding="")),readableAddChunk(this,state,chunk,encoding,!1)},Readable.prototype.unshift=function(chunk){var state=this._readableState;return readableAddChunk(this,state,chunk,"",!0)},Readable.prototype.isPaused=function(){return this._readableState.flowing===!1},Readable.prototype.setEncoding=function(enc){return StringDecoder||(StringDecoder=__webpack_require__(114).StringDecoder),this._readableState.decoder=new StringDecoder(enc),this._readableState.encoding=enc,this};var MAX_HWM=8388608;Readable.prototype.read=function(n){debug("read",n),n=parseInt(n,10);var state=this._readableState,nOrig=n;if(0!==n&&(state.emittedReadable=!1),0===n&&state.needReadable&&(state.length>=state.highWaterMark||state.ended))return debug("read: emitReadable",state.length,state.ended),0===state.length&&state.ended?endReadable(this):emitReadable(this),null;if(n=howMuchToRead(n,state),0===n&&state.ended)return 0===state.length&&endReadable(this),null;var doRead=state.needReadable;debug("need readable",doRead),(0===state.length||state.length-n<state.highWaterMark)&&(doRead=!0,debug("length less than watermark",doRead)),state.ended||state.reading?(doRead=!1,debug("reading or ended",doRead)):doRead&&(debug("do read"),state.reading=!0,state.sync=!0,0===state.length&&(state.needReadable=!0),this._read(state.highWaterMark),state.sync=!1,state.reading||(n=howMuchToRead(nOrig,state)));var ret;return ret=n>0?fromList(n,state):null,null===ret?(state.needReadable=!0,n=0):state.length-=n,0===state.length&&(state.ended||(state.needReadable=!0),nOrig!==n&&state.ended&&endReadable(this)),null!==ret&&this.emit("data",ret),ret},Readable.prototype._read=function(n){this.emit("error",new Error("_read() is not implemented"))},Readable.prototype.pipe=function(dest,pipeOpts){function onunpipe(readable){debug("onunpipe"),readable===src&&cleanup()}function onend(){debug("onend"),dest.end()}function cleanup(){debug("cleanup"),dest.removeListener("close",onclose),dest.removeListener("finish",onfinish),dest.removeListener("drain",ondrain),dest.removeListener("error",onerror),dest.removeListener("unpipe",onunpipe),src.removeListener("end",onend),src.removeListener("end",cleanup),src.removeListener("data",ondata),cleanedUp=!0,!state.awaitDrain||dest._writableState&&!dest._writableState.needDrain||ondrain()}function ondata(chunk){debug("ondata"),increasedAwaitDrain=!1;var ret=dest.write(chunk);!1!==ret||increasedAwaitDrain||((1===state.pipesCount&&state.pipes===dest||state.pipesCount>1&&indexOf(state.pipes,dest)!==-1)&&!cleanedUp&&(debug("false write response, pause",src._readableState.awaitDrain),src._readableState.awaitDrain++,increasedAwaitDrain=!0),src.pause())}function onerror(er){debug("onerror",er),unpipe(),dest.removeListener("error",onerror),0===EElistenerCount(dest,"error")&&dest.emit("error",er)}function onclose(){dest.removeListener("finish",onfinish),unpipe()}function onfinish(){debug("onfinish"),dest.removeListener("close",onclose),unpipe()}function unpipe(){debug("unpipe"),src.unpipe(dest)}var src=this,state=this._readableState;switch(state.pipesCount){case 0:state.pipes=dest;break;case 1:state.pipes=[state.pipes,dest];break;default:state.pipes.push(dest)}state.pipesCount+=1,debug("pipe count=%d opts=%j",state.pipesCount,pipeOpts);var doEnd=(!pipeOpts||pipeOpts.end!==!1)&&dest!==process.stdout&&dest!==process.stderr,endFn=doEnd?onend:cleanup;state.endEmitted?processNextTick(endFn):src.once("end",endFn),dest.on("unpipe",onunpipe);var ondrain=pipeOnDrain(src);dest.on("drain",ondrain);var cleanedUp=!1,increasedAwaitDrain=!1;return src.on("data",ondata),prependListener(dest,"error",onerror),dest.once("close",onclose),dest.once("finish",onfinish),dest.emit("pipe",src),state.flowing||(debug("pipe resume"),src.resume()),dest},Readable.prototype.unpipe=function(dest){var state=this._readableState;if(0===state.pipesCount)return this;if(1===state.pipesCount)return dest&&dest!==state.pipes?this:(dest||(dest=state.pipes),state.pipes=null,state.pipesCount=0,state.flowing=!1,dest&&dest.emit("unpipe",this),this);if(!dest){var dests=state.pipes,len=state.pipesCount;state.pipes=null,state.pipesCount=0,state.flowing=!1;for(var i=0;i<len;i++)dests[i].emit("unpipe",this);return this}var index=indexOf(state.pipes,dest);return index===-1?this:(state.pipes.splice(index,1),state.pipesCount-=1,1===state.pipesCount&&(state.pipes=state.pipes[0]),dest.emit("unpipe",this),this)},Readable.prototype.on=function(ev,fn){var res=Stream.prototype.on.call(this,ev,fn);if("data"===ev)this._readableState.flowing!==!1&&this.resume();else if("readable"===ev){var state=this._readableState;state.endEmitted||state.readableListening||(state.readableListening=state.needReadable=!0,state.emittedReadable=!1,state.reading?state.length&&emitReadable(this,state):processNextTick(nReadingNextTick,this))}return res},Readable.prototype.addListener=Readable.prototype.on,Readable.prototype.resume=function(){var state=this._readableState;return state.flowing||(debug("resume"),state.flowing=!0,resume(this,state)),this},Readable.prototype.pause=function(){return debug("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(debug("pause"),this._readableState.flowing=!1,this.emit("pause")),this},Readable.prototype.wrap=function(stream){var state=this._readableState,paused=!1,self=this;stream.on("end",function(){if(debug("wrapped end"),state.decoder&&!state.ended){var chunk=state.decoder.end();chunk&&chunk.length&&self.push(chunk)}self.push(null)}),stream.on("data",function(chunk){if(debug("wrapped data"),state.decoder&&(chunk=state.decoder.write(chunk)),(!state.objectMode||null!==chunk&&void 0!==chunk)&&(state.objectMode||chunk&&chunk.length)){var ret=self.push(chunk);ret||(paused=!0,stream.pause())}});for(var i in stream)void 0===this[i]&&"function"==typeof stream[i]&&(this[i]=function(method){return function(){return stream[method].apply(stream,arguments)}}(i));var events=["error","close","destroy","pause","resume"];return forEach(events,function(ev){stream.on(ev,self.emit.bind(self,ev))}),self._read=function(n){debug("wrapped _read",n),paused&&(paused=!1,stream.resume())},self},Readable._fromList=fromList}).call(exports,__webpack_require__(16))},function(module,exports,__webpack_require__){(function(global){function getXHR(){if(void 0!==xhr)return xhr;if(global.XMLHttpRequest){xhr=new global.XMLHttpRequest;try{xhr.open("GET",global.XDomainRequest?"/":"https://example.com")}catch(e){xhr=null}}else xhr=null;return xhr}function checkTypeSupport(type){var xhr=getXHR();if(!xhr)return!1;try{return xhr.responseType=type,xhr.responseType===type}catch(e){}return!1}function isFunction(value){return"function"==typeof value}exports.fetch=isFunction(global.fetch)&&isFunction(global.ReadableStream),exports.blobConstructor=!1;try{new Blob([new ArrayBuffer(1)]),exports.blobConstructor=!0}catch(e){}var xhr,haveArrayBuffer="undefined"!=typeof global.ArrayBuffer,haveSlice=haveArrayBuffer&&isFunction(global.ArrayBuffer.prototype.slice);exports.arraybuffer=exports.fetch||haveArrayBuffer&&checkTypeSupport("arraybuffer"),exports.msstream=!exports.fetch&&haveSlice&&checkTypeSupport("ms-stream"),exports.mozchunkedarraybuffer=!exports.fetch&&haveArrayBuffer&&checkTypeSupport("moz-chunked-arraybuffer"),exports.overrideMimeType=exports.fetch||!!getXHR()&&isFunction(getXHR().overrideMimeType),exports.vbArray=isFunction(global.VBArray),xhr=null}).call(exports,__webpack_require__(4))},function(module,exports){"function"==typeof Object.create?module.exports=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}},function(module,exports,__webpack_require__){function assertEncoding(encoding){if(encoding&&!isBufferEncoding(encoding))throw new Error("Unknown encoding: "+encoding)}function passThroughWrite(buffer){return buffer.toString(this.encoding)}function utf16DetectIncompleteChar(buffer){this.charReceived=buffer.length%2,this.charLength=this.charReceived?2:0}function base64DetectIncompleteChar(buffer){this.charReceived=buffer.length%3,this.charLength=this.charReceived?3:0}var Buffer=__webpack_require__(12).Buffer,isBufferEncoding=Buffer.isEncoding||function(encoding){switch(encoding&&encoding.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}},StringDecoder=exports.StringDecoder=function(encoding){switch(this.encoding=(encoding||"utf8").toLowerCase().replace(/[-_]/,""),assertEncoding(encoding),this.encoding){case"utf8":this.surrogateSize=3;break;case"ucs2":case"utf16le":this.surrogateSize=2,this.detectIncompleteChar=utf16DetectIncompleteChar;break;case"base64":this.surrogateSize=3,this.detectIncompleteChar=base64DetectIncompleteChar;break;default:return void(this.write=passThroughWrite)}this.charBuffer=new Buffer(6),this.charReceived=0,this.charLength=0};StringDecoder.prototype.write=function(buffer){for(var charStr="";this.charLength;){var available=buffer.length>=this.charLength-this.charReceived?this.charLength-this.charReceived:buffer.length;if(buffer.copy(this.charBuffer,this.charReceived,0,available),this.charReceived+=available,this.charReceived<this.charLength)return"";buffer=buffer.slice(available,buffer.length),charStr=this.charBuffer.slice(0,this.charLength).toString(this.encoding);var charCode=charStr.charCodeAt(charStr.length-1);if(!(charCode>=55296&&charCode<=56319)){if(this.charReceived=this.charLength=0,0===buffer.length)return charStr;break}this.charLength+=this.surrogateSize,charStr=""}this.detectIncompleteChar(buffer);var end=buffer.length;this.charLength&&(buffer.copy(this.charBuffer,0,buffer.length-this.charReceived,end),end-=this.charReceived),charStr+=buffer.toString(this.encoding,0,end);var end=charStr.length-1,charCode=charStr.charCodeAt(end);if(charCode>=55296&&charCode<=56319){var size=this.surrogateSize;return this.charLength+=size,this.charReceived+=size,this.charBuffer.copy(this.charBuffer,size,0,size),buffer.copy(this.charBuffer,0,0,size),charStr.substring(0,end)}return charStr},StringDecoder.prototype.detectIncompleteChar=function(buffer){for(var i=buffer.length>=3?3:buffer.length;i>0;i--){var c=buffer[buffer.length-i];if(1==i&&c>>5==6){this.charLength=2;break}if(i<=2&&c>>4==14){this.charLength=3;break}if(i<=3&&c>>3==30){this.charLength=4;break}}this.charReceived=i},StringDecoder.prototype.end=function(buffer){var res="";if(buffer&&buffer.length&&(res=this.write(buffer)),this.charReceived){var cr=this.charReceived,buf=this.charBuffer,enc=this.encoding;res+=buf.slice(0,cr).toString(enc)}return res}},function(module,exports,__webpack_require__){__webpack_require__(126),module.exports="ngAnimate"},function(module,exports,__webpack_require__){__webpack_require__(129),module.exports="toastr"},function(module,exports,__webpack_require__){__webpack_require__(130),module.exports="ui.bootstrap"},function(module,exports,__webpack_require__){__webpack_require__(143),__webpack_require__(133),__webpack_require__(134),__webpack_require__(135),__webpack_require__(136),__webpack_require__(137),__webpack_require__(138),__webpack_require__(142),__webpack_require__(139),__webpack_require__(140),__webpack_require__(141),__webpack_require__(132)},function(module,exports,__webpack_require__){/*!
+ * Caron dimonio, con occhi di bragia
+ * loro accennando, tutte le raccoglie;
+ * batte col remo qualunque s’adagia 
+ *
+ * Charon the demon, with the eyes of glede,
+ * Beckoning to them, collects them all together,
+ * Beats with his oar whoever lags behind
+ *          
+ *          Dante - The Divine Comedy (Canto III)
+ */
+module.exports=__webpack_require__(144)},function(module,exports,__webpack_require__){(function(global,module){var __WEBPACK_AMD_DEFINE_RESULT__;(function(){function addMapEntry(map,pair){return map.set(pair[0],pair[1]),map}function addSetEntry(set,value){return set.add(value),set}function apply(func,thisArg,args){switch(args.length){case 0:return func.call(thisArg);case 1:return func.call(thisArg,args[0]);case 2:return func.call(thisArg,args[0],args[1]);case 3:return func.call(thisArg,args[0],args[1],args[2])}return func.apply(thisArg,args)}function arrayAggregator(array,setter,iteratee,accumulator){for(var index=-1,length=null==array?0:array.length;++index<length;){var value=array[index];setter(accumulator,value,iteratee(value),array)}return accumulator}function arrayEach(array,iteratee){for(var index=-1,length=null==array?0:array.length;++index<length&&iteratee(array[index],index,array)!==!1;);return array}function arrayEachRight(array,iteratee){for(var length=null==array?0:array.length;length--&&iteratee(array[length],length,array)!==!1;);return array}function arrayEvery(array,predicate){for(var index=-1,length=null==array?0:array.length;++index<length;)if(!predicate(array[index],index,array))return!1;return!0}function arrayFilter(array,predicate){for(var index=-1,length=null==array?0:array.length,resIndex=0,result=[];++index<length;){var value=array[index];predicate(value,index,array)&&(result[resIndex++]=value)}return result}function arrayIncludes(array,value){var length=null==array?0:array.length;return!!length&&baseIndexOf(array,value,0)>-1}function arrayIncludesWith(array,value,comparator){for(var index=-1,length=null==array?0:array.length;++index<length;)if(comparator(value,array[index]))return!0;return!1}function arrayMap(array,iteratee){for(var index=-1,length=null==array?0:array.length,result=Array(length);++index<length;)result[index]=iteratee(array[index],index,array);return result}function arrayPush(array,values){for(var index=-1,length=values.length,offset=array.length;++index<length;)array[offset+index]=values[index];return array}function arrayReduce(array,iteratee,accumulator,initAccum){var index=-1,length=null==array?0:array.length;for(initAccum&&length&&(accumulator=array[++index]);++index<length;)accumulator=iteratee(accumulator,array[index],index,array);return accumulator}function arrayReduceRight(array,iteratee,accumulator,initAccum){var length=null==array?0:array.length;for(initAccum&&length&&(accumulator=array[--length]);length--;)accumulator=iteratee(accumulator,array[length],length,array);return accumulator}function arraySome(array,predicate){for(var index=-1,length=null==array?0:array.length;++index<length;)if(predicate(array[index],index,array))return!0;return!1}function asciiToArray(string){return string.split("")}function asciiWords(string){return string.match(reAsciiWord)||[]}function baseFindKey(collection,predicate,eachFunc){var result;return eachFunc(collection,function(value,key,collection){if(predicate(value,key,collection))return result=key,!1}),result}function baseFindIndex(array,predicate,fromIndex,fromRight){for(var length=array.length,index=fromIndex+(fromRight?1:-1);fromRight?index--:++index<length;)if(predicate(array[index],index,array))return index;return-1}function baseIndexOf(array,value,fromIndex){return value===value?strictIndexOf(array,value,fromIndex):baseFindIndex(array,baseIsNaN,fromIndex)}function baseIndexOfWith(array,value,fromIndex,comparator){for(var index=fromIndex-1,length=array.length;++index<length;)if(comparator(array[index],value))return index;return-1}function baseIsNaN(value){return value!==value}function baseMean(array,iteratee){var length=null==array?0:array.length;return length?baseSum(array,iteratee)/length:NAN}function baseProperty(key){return function(object){return null==object?undefined:object[key]}}function basePropertyOf(object){return function(key){return null==object?undefined:object[key]}}function baseReduce(collection,iteratee,accumulator,initAccum,eachFunc){return eachFunc(collection,function(value,index,collection){accumulator=initAccum?(initAccum=!1,value):iteratee(accumulator,value,index,collection)}),accumulator}function baseSortBy(array,comparer){var length=array.length;for(array.sort(comparer);length--;)array[length]=array[length].value;return array}function baseSum(array,iteratee){for(var result,index=-1,length=array.length;++index<length;){var current=iteratee(array[index]);current!==undefined&&(result=result===undefined?current:result+current)}return result}function baseTimes(n,iteratee){for(var index=-1,result=Array(n);++index<n;)result[index]=iteratee(index);return result}function baseToPairs(object,props){return arrayMap(props,function(key){return[key,object[key]]})}function baseUnary(func){return function(value){return func(value)}}function baseValues(object,props){return arrayMap(props,function(key){return object[key]})}function cacheHas(cache,key){return cache.has(key)}function charsStartIndex(strSymbols,chrSymbols){for(var index=-1,length=strSymbols.length;++index<length&&baseIndexOf(chrSymbols,strSymbols[index],0)>-1;);return index}function charsEndIndex(strSymbols,chrSymbols){for(var index=strSymbols.length;index--&&baseIndexOf(chrSymbols,strSymbols[index],0)>-1;);return index}function countHolders(array,placeholder){for(var length=array.length,result=0;length--;)array[length]===placeholder&&++result;return result}function escapeStringChar(chr){return"\\"+stringEscapes[chr]}function getValue(object,key){return null==object?undefined:object[key]}function hasUnicode(string){return reHasUnicode.test(string)}function hasUnicodeWord(string){return reHasUnicodeWord.test(string)}function iteratorToArray(iterator){for(var data,result=[];!(data=iterator.next()).done;)result.push(data.value);return result}function mapToArray(map){var index=-1,result=Array(map.size);return map.forEach(function(value,key){result[++index]=[key,value]}),result}function overArg(func,transform){return function(arg){return func(transform(arg))}}function replaceHolders(array,placeholder){for(var index=-1,length=array.length,resIndex=0,result=[];++index<length;){var value=array[index];value!==placeholder&&value!==PLACEHOLDER||(array[index]=PLACEHOLDER,result[resIndex++]=index)}return result}function setToArray(set){var index=-1,result=Array(set.size);return set.forEach(function(value){result[++index]=value}),result}function setToPairs(set){var index=-1,result=Array(set.size);return set.forEach(function(value){result[++index]=[value,value]}),result}function strictIndexOf(array,value,fromIndex){for(var index=fromIndex-1,length=array.length;++index<length;)if(array[index]===value)return index;return-1}function strictLastIndexOf(array,value,fromIndex){for(var index=fromIndex+1;index--;)if(array[index]===value)return index;return index}function stringSize(string){return hasUnicode(string)?unicodeSize(string):asciiSize(string)}function stringToArray(string){return hasUnicode(string)?unicodeToArray(string):asciiToArray(string)}function unicodeSize(string){for(var result=reUnicode.lastIndex=0;reUnicode.test(string);)++result;return result}function unicodeToArray(string){return string.match(reUnicode)||[]}function unicodeWords(string){return string.match(reUnicodeWord)||[]}var undefined,VERSION="4.17.4",LARGE_ARRAY_SIZE=200,CORE_ERROR_TEXT="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",FUNC_ERROR_TEXT="Expected a function",HASH_UNDEFINED="__lodash_hash_undefined__",MAX_MEMOIZE_SIZE=500,PLACEHOLDER="__lodash_placeholder__",CLONE_DEEP_FLAG=1,CLONE_FLAT_FLAG=2,CLONE_SYMBOLS_FLAG=4,COMPARE_PARTIAL_FLAG=1,COMPARE_UNORDERED_FLAG=2,WRAP_BIND_FLAG=1,WRAP_BIND_KEY_FLAG=2,WRAP_CURRY_BOUND_FLAG=4,WRAP_CURRY_FLAG=8,WRAP_CURRY_RIGHT_FLAG=16,WRAP_PARTIAL_FLAG=32,WRAP_PARTIAL_RIGHT_FLAG=64,WRAP_ARY_FLAG=128,WRAP_REARG_FLAG=256,WRAP_FLIP_FLAG=512,DEFAULT_TRUNC_LENGTH=30,DEFAULT_TRUNC_OMISSION="...",HOT_COUNT=800,HOT_SPAN=16,LAZY_FILTER_FLAG=1,LAZY_MAP_FLAG=2,LAZY_WHILE_FLAG=3,INFINITY=1/0,MAX_SAFE_INTEGER=9007199254740991,MAX_INTEGER=1.7976931348623157e308,NAN=NaN,MAX_ARRAY_LENGTH=4294967295,MAX_ARRAY_INDEX=MAX_ARRAY_LENGTH-1,HALF_MAX_ARRAY_LENGTH=MAX_ARRAY_LENGTH>>>1,wrapFlags=[["ary",WRAP_ARY_FLAG],["bind",WRAP_BIND_FLAG],["bindKey",WRAP_BIND_KEY_FLAG],["curry",WRAP_CURRY_FLAG],["curryRight",WRAP_CURRY_RIGHT_FLAG],["flip",WRAP_FLIP_FLAG],["partial",WRAP_PARTIAL_FLAG],["partialRight",WRAP_PARTIAL_RIGHT_FLAG],["rearg",WRAP_REARG_FLAG]],argsTag="[object Arguments]",arrayTag="[object Array]",asyncTag="[object AsyncFunction]",boolTag="[object Boolean]",dateTag="[object Date]",domExcTag="[object DOMException]",errorTag="[object Error]",funcTag="[object Function]",genTag="[object GeneratorFunction]",mapTag="[object Map]",numberTag="[object Number]",nullTag="[object Null]",objectTag="[object Object]",promiseTag="[object Promise]",proxyTag="[object Proxy]",regexpTag="[object RegExp]",setTag="[object Set]",stringTag="[object String]",symbolTag="[object Symbol]",undefinedTag="[object Undefined]",weakMapTag="[object WeakMap]",weakSetTag="[object WeakSet]",arrayBufferTag="[object ArrayBuffer]",dataViewTag="[object DataView]",float32Tag="[object Float32Array]",float64Tag="[object Float64Array]",int8Tag="[object Int8Array]",int16Tag="[object Int16Array]",int32Tag="[object Int32Array]",uint8Tag="[object Uint8Array]",uint8ClampedTag="[object Uint8ClampedArray]",uint16Tag="[object Uint16Array]",uint32Tag="[object Uint32Array]",reEmptyStringLeading=/\b__p \+= '';/g,reEmptyStringMiddle=/\b(__p \+=) '' \+/g,reEmptyStringTrailing=/(__e\(.*?\)|\b__t\)) \+\n'';/g,reEscapedHtml=/&(?:amp|lt|gt|quot|#39);/g,reUnescapedHtml=/[&<>"']/g,reHasEscapedHtml=RegExp(reEscapedHtml.source),reHasUnescapedHtml=RegExp(reUnescapedHtml.source),reEscape=/<%-([\s\S]+?)%>/g,reEvaluate=/<%([\s\S]+?)%>/g,reInterpolate=/<%=([\s\S]+?)%>/g,reIsDeepProp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,reIsPlainProp=/^\w*$/,reLeadingDot=/^\./,rePropName=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,reRegExpChar=/[\\^$.*+?()[\]{}|]/g,reHasRegExpChar=RegExp(reRegExpChar.source),reTrim=/^\s+|\s+$/g,reTrimStart=/^\s+/,reTrimEnd=/\s+$/,reWrapComment=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,reWrapDetails=/\{\n\/\* \[wrapped with (.+)\] \*/,reSplitDetails=/,? & /,reAsciiWord=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,reEscapeChar=/\\(\\)?/g,reEsTemplate=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,reFlags=/\w*$/,reIsBadHex=/^[-+]0x[0-9a-f]+$/i,reIsBinary=/^0b[01]+$/i,reIsHostCtor=/^\[object .+?Constructor\]$/,reIsOctal=/^0o[0-7]+$/i,reIsUint=/^(?:0|[1-9]\d*)$/,reLatin=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,reNoMatch=/($^)/,reUnescapedString=/['\n\r\u2028\u2029\\]/g,rsAstralRange="\\ud800-\\udfff",rsComboMarksRange="\\u0300-\\u036f",reComboHalfMarksRange="\\ufe20-\\ufe2f",rsComboSymbolsRange="\\u20d0-\\u20ff",rsComboRange=rsComboMarksRange+reComboHalfMarksRange+rsComboSymbolsRange,rsDingbatRange="\\u2700-\\u27bf",rsLowerRange="a-z\\xdf-\\xf6\\xf8-\\xff",rsMathOpRange="\\xac\\xb1\\xd7\\xf7",rsNonCharRange="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",rsPunctuationRange="\\u2000-\\u206f",rsSpaceRange=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",rsUpperRange="A-Z\\xc0-\\xd6\\xd8-\\xde",rsVarRange="\\ufe0e\\ufe0f",rsBreakRange=rsMathOpRange+rsNonCharRange+rsPunctuationRange+rsSpaceRange,rsApos="['’]",rsAstral="["+rsAstralRange+"]",rsBreak="["+rsBreakRange+"]",rsCombo="["+rsComboRange+"]",rsDigits="\\d+",rsDingbat="["+rsDingbatRange+"]",rsLower="["+rsLowerRange+"]",rsMisc="[^"+rsAstralRange+rsBreakRange+rsDigits+rsDingbatRange+rsLowerRange+rsUpperRange+"]",rsFitz="\\ud83c[\\udffb-\\udfff]",rsModifier="(?:"+rsCombo+"|"+rsFitz+")",rsNonAstral="[^"+rsAstralRange+"]",rsRegional="(?:\\ud83c[\\udde6-\\uddff]){2}",rsSurrPair="[\\ud800-\\udbff][\\udc00-\\udfff]",rsUpper="["+rsUpperRange+"]",rsZWJ="\\u200d",rsMiscLower="(?:"+rsLower+"|"+rsMisc+")",rsMiscUpper="(?:"+rsUpper+"|"+rsMisc+")",rsOptContrLower="(?:"+rsApos+"(?:d|ll|m|re|s|t|ve))?",rsOptContrUpper="(?:"+rsApos+"(?:D|LL|M|RE|S|T|VE))?",reOptMod=rsModifier+"?",rsOptVar="["+rsVarRange+"]?",rsOptJoin="(?:"+rsZWJ+"(?:"+[rsNonAstral,rsRegional,rsSurrPair].join("|")+")"+rsOptVar+reOptMod+")*",rsOrdLower="\\d*(?:(?:1st|2nd|3rd|(?![123])\\dth)\\b)",rsOrdUpper="\\d*(?:(?:1ST|2ND|3RD|(?![123])\\dTH)\\b)",rsSeq=rsOptVar+reOptMod+rsOptJoin,rsEmoji="(?:"+[rsDingbat,rsRegional,rsSurrPair].join("|")+")"+rsSeq,rsSymbol="(?:"+[rsNonAstral+rsCombo+"?",rsCombo,rsRegional,rsSurrPair,rsAstral].join("|")+")",reApos=RegExp(rsApos,"g"),reComboMark=RegExp(rsCombo,"g"),reUnicode=RegExp(rsFitz+"(?="+rsFitz+")|"+rsSymbol+rsSeq,"g"),reUnicodeWord=RegExp([rsUpper+"?"+rsLower+"+"+rsOptContrLower+"(?="+[rsBreak,rsUpper,"$"].join("|")+")",rsMiscUpper+"+"+rsOptContrUpper+"(?="+[rsBreak,rsUpper+rsMiscLower,"$"].join("|")+")",rsUpper+"?"+rsMiscLower+"+"+rsOptContrLower,rsUpper+"+"+rsOptContrUpper,rsOrdUpper,rsOrdLower,rsDigits,rsEmoji].join("|"),"g"),reHasUnicode=RegExp("["+rsZWJ+rsAstralRange+rsComboRange+rsVarRange+"]"),reHasUnicodeWord=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,contextProps=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],templateCounter=-1,typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dataViewTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[dataViewTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[mapTag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[setTag]=cloneableTags[stringTag]=cloneableTags[symbolTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0,cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[weakMapTag]=!1;var deburredLetters={"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"},htmlEscapes={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},htmlUnescapes={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},stringEscapes={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},freeParseFloat=parseFloat,freeParseInt=parseInt,freeGlobal="object"==typeof global&&global&&global.Object===Object&&global,freeSelf="object"==typeof self&&self&&self.Object===Object&&self,root=freeGlobal||freeSelf||Function("return this")(),freeExports="object"==typeof exports&&exports&&!exports.nodeType&&exports,freeModule=freeExports&&"object"==typeof module&&module&&!module.nodeType&&module,moduleExports=freeModule&&freeModule.exports===freeExports,freeProcess=moduleExports&&freeGlobal.process,nodeUtil=function(){try{return freeProcess&&freeProcess.binding&&freeProcess.binding("util")}catch(e){}}(),nodeIsArrayBuffer=nodeUtil&&nodeUtil.isArrayBuffer,nodeIsDate=nodeUtil&&nodeUtil.isDate,nodeIsMap=nodeUtil&&nodeUtil.isMap,nodeIsRegExp=nodeUtil&&nodeUtil.isRegExp,nodeIsSet=nodeUtil&&nodeUtil.isSet,nodeIsTypedArray=nodeUtil&&nodeUtil.isTypedArray,asciiSize=baseProperty("length"),deburrLetter=basePropertyOf(deburredLetters),escapeHtmlChar=basePropertyOf(htmlEscapes),unescapeHtmlChar=basePropertyOf(htmlUnescapes),runInContext=function runInContext(context){function lodash(value){if(isObjectLike(value)&&!isArray(value)&&!(value instanceof LazyWrapper)){if(value instanceof LodashWrapper)return value;if(hasOwnProperty.call(value,"__wrapped__"))return wrapperClone(value)}return new LodashWrapper(value)}function baseLodash(){}function LodashWrapper(value,chainAll){this.__wrapped__=value,this.__actions__=[],this.__chain__=!!chainAll,this.__index__=0,this.__values__=undefined}function LazyWrapper(value){this.__wrapped__=value,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=MAX_ARRAY_LENGTH,this.__views__=[]}function lazyClone(){var result=new LazyWrapper(this.__wrapped__);return result.__actions__=copyArray(this.__actions__),result.__dir__=this.__dir__,result.__filtered__=this.__filtered__,result.__iteratees__=copyArray(this.__iteratees__),result.__takeCount__=this.__takeCount__,result.__views__=copyArray(this.__views__),result}function lazyReverse(){if(this.__filtered__){var result=new LazyWrapper(this);result.__dir__=-1,result.__filtered__=!0}else result=this.clone(),result.__dir__*=-1;return result}function lazyValue(){var array=this.__wrapped__.value(),dir=this.__dir__,isArr=isArray(array),isRight=dir<0,arrLength=isArr?array.length:0,view=getView(0,arrLength,this.__views__),start=view.start,end=view.end,length=end-start,index=isRight?end:start-1,iteratees=this.__iteratees__,iterLength=iteratees.length,resIndex=0,takeCount=nativeMin(length,this.__takeCount__);if(!isArr||!isRight&&arrLength==length&&takeCount==length)return baseWrapperValue(array,this.__actions__);var result=[];outer:for(;length--&&resIndex<takeCount;){index+=dir;for(var iterIndex=-1,value=array[index];++iterIndex<iterLength;){var data=iteratees[iterIndex],iteratee=data.iteratee,type=data.type,computed=iteratee(value);if(type==LAZY_MAP_FLAG)value=computed;else if(!computed){if(type==LAZY_FILTER_FLAG)continue outer;break outer}}result[resIndex++]=value}return result}function Hash(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function hashClear(){this.__data__=nativeCreate?nativeCreate(null):{},this.size=0}function hashDelete(key){var result=this.has(key)&&delete this.__data__[key];return this.size-=result?1:0,result}function hashGet(key){var data=this.__data__;if(nativeCreate){var result=data[key];return result===HASH_UNDEFINED?undefined:result}return hasOwnProperty.call(data,key)?data[key]:undefined}function hashHas(key){var data=this.__data__;return nativeCreate?data[key]!==undefined:hasOwnProperty.call(data,key)}function hashSet(key,value){var data=this.__data__;return this.size+=this.has(key)?0:1,data[key]=nativeCreate&&value===undefined?HASH_UNDEFINED:value,this}function ListCache(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function listCacheClear(){this.__data__=[],this.size=0}function listCacheDelete(key){var data=this.__data__,index=assocIndexOf(data,key);if(index<0)return!1;var lastIndex=data.length-1;return index==lastIndex?data.pop():splice.call(data,index,1),--this.size,!0}function listCacheGet(key){var data=this.__data__,index=assocIndexOf(data,key);return index<0?undefined:data[index][1]}function listCacheHas(key){return assocIndexOf(this.__data__,key)>-1}function listCacheSet(key,value){var data=this.__data__,index=assocIndexOf(data,key);return index<0?(++this.size,data.push([key,value])):data[index][1]=value,this}function MapCache(entries){var index=-1,length=null==entries?0:entries.length;for(this.clear();++index<length;){var entry=entries[index];this.set(entry[0],entry[1])}}function mapCacheClear(){this.size=0,this.__data__={hash:new Hash,map:new(Map||ListCache),string:new Hash}}function mapCacheDelete(key){var result=getMapData(this,key)["delete"](key);return this.size-=result?1:0,result}function mapCacheGet(key){return getMapData(this,key).get(key)}function mapCacheHas(key){return getMapData(this,key).has(key)}function mapCacheSet(key,value){var data=getMapData(this,key),size=data.size;return data.set(key,value),this.size+=data.size==size?0:1,this}function SetCache(values){var index=-1,length=null==values?0:values.length;for(this.__data__=new MapCache;++index<length;)this.add(values[index])}function setCacheAdd(value){return this.__data__.set(value,HASH_UNDEFINED),this}function setCacheHas(value){return this.__data__.has(value)}function Stack(entries){var data=this.__data__=new ListCache(entries);this.size=data.size}function stackClear(){this.__data__=new ListCache,this.size=0}function stackDelete(key){var data=this.__data__,result=data["delete"](key);return this.size=data.size,result}function stackGet(key){return this.__data__.get(key)}function stackHas(key){return this.__data__.has(key)}function stackSet(key,value){var data=this.__data__;if(data instanceof ListCache){var pairs=data.__data__;if(!Map||pairs.length<LARGE_ARRAY_SIZE-1)return pairs.push([key,value]),this.size=++data.size,this;data=this.__data__=new MapCache(pairs)}return data.set(key,value),this.size=data.size,this}function arrayLikeKeys(value,inherited){var isArr=isArray(value),isArg=!isArr&&isArguments(value),isBuff=!isArr&&!isArg&&isBuffer(value),isType=!isArr&&!isArg&&!isBuff&&isTypedArray(value),skipIndexes=isArr||isArg||isBuff||isType,result=skipIndexes?baseTimes(value.length,String):[],length=result.length;for(var key in value)!inherited&&!hasOwnProperty.call(value,key)||skipIndexes&&("length"==key||isBuff&&("offset"==key||"parent"==key)||isType&&("buffer"==key||"byteLength"==key||"byteOffset"==key)||isIndex(key,length))||result.push(key);return result}function arraySample(array){var length=array.length;return length?array[baseRandom(0,length-1)]:undefined}function arraySampleSize(array,n){return shuffleSelf(copyArray(array),baseClamp(n,0,array.length))}function arrayShuffle(array){return shuffleSelf(copyArray(array))}function assignMergeValue(object,key,value){(value===undefined||eq(object[key],value))&&(value!==undefined||key in object)||baseAssignValue(object,key,value)}function assignValue(object,key,value){var objValue=object[key];hasOwnProperty.call(object,key)&&eq(objValue,value)&&(value!==undefined||key in object)||baseAssignValue(object,key,value)}function assocIndexOf(array,key){for(var length=array.length;length--;)if(eq(array[length][0],key))return length;return-1}function baseAggregator(collection,setter,iteratee,accumulator){return baseEach(collection,function(value,key,collection){setter(accumulator,value,iteratee(value),collection)}),accumulator}function baseAssign(object,source){return object&&copyObject(source,keys(source),object)}function baseAssignIn(object,source){return object&&copyObject(source,keysIn(source),object)}function baseAssignValue(object,key,value){"__proto__"==key&&defineProperty?defineProperty(object,key,{configurable:!0,enumerable:!0,value:value,writable:!0}):object[key]=value}function baseAt(object,paths){for(var index=-1,length=paths.length,result=Array(length),skip=null==object;++index<length;)result[index]=skip?undefined:get(object,paths[index]);return result}function baseClamp(number,lower,upper){return number===number&&(upper!==undefined&&(number=number<=upper?number:upper),lower!==undefined&&(number=number>=lower?number:lower)),number}function baseClone(value,bitmask,customizer,key,object,stack){var result,isDeep=bitmask&CLONE_DEEP_FLAG,isFlat=bitmask&CLONE_FLAT_FLAG,isFull=bitmask&CLONE_SYMBOLS_FLAG;if(customizer&&(result=object?customizer(value,key,object,stack):customizer(value)),result!==undefined)return result;if(!isObject(value))return value;var isArr=isArray(value);if(isArr){if(result=initCloneArray(value),!isDeep)return copyArray(value,result)}else{var tag=getTag(value),isFunc=tag==funcTag||tag==genTag;if(isBuffer(value))return cloneBuffer(value,isDeep);if(tag==objectTag||tag==argsTag||isFunc&&!object){if(result=isFlat||isFunc?{}:initCloneObject(value),!isDeep)return isFlat?copySymbolsIn(value,baseAssignIn(result,value)):copySymbols(value,baseAssign(result,value))}else{if(!cloneableTags[tag])return object?value:{};result=initCloneByTag(value,tag,baseClone,isDeep)}}stack||(stack=new Stack);var stacked=stack.get(value);if(stacked)return stacked;stack.set(value,result);var keysFunc=isFull?isFlat?getAllKeysIn:getAllKeys:isFlat?keysIn:keys,props=isArr?undefined:keysFunc(value);return arrayEach(props||value,function(subValue,key){props&&(key=subValue,subValue=value[key]),assignValue(result,key,baseClone(subValue,bitmask,customizer,key,value,stack))}),result}function baseConforms(source){var props=keys(source);return function(object){return baseConformsTo(object,source,props)}}function baseConformsTo(object,source,props){var length=props.length;if(null==object)return!length;for(object=Object(object);length--;){var key=props[length],predicate=source[key],value=object[key];if(value===undefined&&!(key in object)||!predicate(value))return!1}return!0}function baseDelay(func,wait,args){if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return setTimeout(function(){func.apply(undefined,args)},wait)}function baseDifference(array,values,iteratee,comparator){var index=-1,includes=arrayIncludes,isCommon=!0,length=array.length,result=[],valuesLength=values.length;if(!length)return result;iteratee&&(values=arrayMap(values,baseUnary(iteratee))),comparator?(includes=arrayIncludesWith,isCommon=!1):values.length>=LARGE_ARRAY_SIZE&&(includes=cacheHas,isCommon=!1,values=new SetCache(values));outer:for(;++index<length;){var value=array[index],computed=null==iteratee?value:iteratee(value);if(value=comparator||0!==value?value:0,isCommon&&computed===computed){for(var valuesIndex=valuesLength;valuesIndex--;)if(values[valuesIndex]===computed)continue outer;result.push(value)}else includes(values,computed,comparator)||result.push(value)}return result}function baseEvery(collection,predicate){var result=!0;return baseEach(collection,function(value,index,collection){return result=!!predicate(value,index,collection)}),result}function baseExtremum(array,iteratee,comparator){for(var index=-1,length=array.length;++index<length;){var value=array[index],current=iteratee(value);if(null!=current&&(computed===undefined?current===current&&!isSymbol(current):comparator(current,computed)))var computed=current,result=value}return result}function baseFill(array,value,start,end){var length=array.length;for(start=toInteger(start),start<0&&(start=-start>length?0:length+start),end=end===undefined||end>length?length:toInteger(end),end<0&&(end+=length),end=start>end?0:toLength(end);start<end;)array[start++]=value;return array}function baseFilter(collection,predicate){var result=[];return baseEach(collection,function(value,index,collection){predicate(value,index,collection)&&result.push(value)}),result}function baseFlatten(array,depth,predicate,isStrict,result){var index=-1,length=array.length;for(predicate||(predicate=isFlattenable),result||(result=[]);++index<length;){var value=array[index];depth>0&&predicate(value)?depth>1?baseFlatten(value,depth-1,predicate,isStrict,result):arrayPush(result,value):isStrict||(result[result.length]=value)}return result}function baseForOwn(object,iteratee){return object&&baseFor(object,iteratee,keys)}function baseForOwnRight(object,iteratee){return object&&baseForRight(object,iteratee,keys)}function baseFunctions(object,props){return arrayFilter(props,function(key){return isFunction(object[key])})}function baseGet(object,path){path=castPath(path,object);for(var index=0,length=path.length;null!=object&&index<length;)object=object[toKey(path[index++])];return index&&index==length?object:undefined}function baseGetAllKeys(object,keysFunc,symbolsFunc){var result=keysFunc(object);return isArray(object)?result:arrayPush(result,symbolsFunc(object))}function baseGetTag(value){return null==value?value===undefined?undefinedTag:nullTag:symToStringTag&&symToStringTag in Object(value)?getRawTag(value):objectToString(value)}function baseGt(value,other){return value>other}function baseHas(object,key){return null!=object&&hasOwnProperty.call(object,key)}function baseHasIn(object,key){return null!=object&&key in Object(object)}function baseInRange(number,start,end){return number>=nativeMin(start,end)&&number<nativeMax(start,end)}function baseIntersection(arrays,iteratee,comparator){for(var includes=comparator?arrayIncludesWith:arrayIncludes,length=arrays[0].length,othLength=arrays.length,othIndex=othLength,caches=Array(othLength),maxLength=1/0,result=[];othIndex--;){var array=arrays[othIndex];othIndex&&iteratee&&(array=arrayMap(array,baseUnary(iteratee))),maxLength=nativeMin(array.length,maxLength),caches[othIndex]=!comparator&&(iteratee||length>=120&&array.length>=120)?new SetCache(othIndex&&array):undefined}array=arrays[0];var index=-1,seen=caches[0];outer:for(;++index<length&&result.length<maxLength;){var value=array[index],computed=iteratee?iteratee(value):value;if(value=comparator||0!==value?value:0,!(seen?cacheHas(seen,computed):includes(result,computed,comparator))){for(othIndex=othLength;--othIndex;){var cache=caches[othIndex];if(!(cache?cacheHas(cache,computed):includes(arrays[othIndex],computed,comparator)))continue outer}seen&&seen.push(computed),result.push(value)}}return result}function baseInverter(object,setter,iteratee,accumulator){return baseForOwn(object,function(value,key,object){setter(accumulator,iteratee(value),key,object)}),accumulator}function baseInvoke(object,path,args){path=castPath(path,object),object=parent(object,path);var func=null==object?object:object[toKey(last(path))];return null==func?undefined:apply(func,object,args)}function baseIsArguments(value){return isObjectLike(value)&&baseGetTag(value)==argsTag}function baseIsArrayBuffer(value){return isObjectLike(value)&&baseGetTag(value)==arrayBufferTag}function baseIsDate(value){return isObjectLike(value)&&baseGetTag(value)==dateTag}function baseIsEqual(value,other,bitmask,customizer,stack){return value===other||(null==value||null==other||!isObjectLike(value)&&!isObjectLike(other)?value!==value&&other!==other:baseIsEqualDeep(value,other,bitmask,customizer,baseIsEqual,stack))}function baseIsEqualDeep(object,other,bitmask,customizer,equalFunc,stack){
+var objIsArr=isArray(object),othIsArr=isArray(other),objTag=objIsArr?arrayTag:getTag(object),othTag=othIsArr?arrayTag:getTag(other);objTag=objTag==argsTag?objectTag:objTag,othTag=othTag==argsTag?objectTag:othTag;var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&isBuffer(object)){if(!isBuffer(other))return!1;objIsArr=!0,objIsObj=!1}if(isSameTag&&!objIsObj)return stack||(stack=new Stack),objIsArr||isTypedArray(object)?equalArrays(object,other,bitmask,customizer,equalFunc,stack):equalByTag(object,other,objTag,bitmask,customizer,equalFunc,stack);if(!(bitmask&COMPARE_PARTIAL_FLAG)){var objIsWrapped=objIsObj&&hasOwnProperty.call(object,"__wrapped__"),othIsWrapped=othIsObj&&hasOwnProperty.call(other,"__wrapped__");if(objIsWrapped||othIsWrapped){var objUnwrapped=objIsWrapped?object.value():object,othUnwrapped=othIsWrapped?other.value():other;return stack||(stack=new Stack),equalFunc(objUnwrapped,othUnwrapped,bitmask,customizer,stack)}}return!!isSameTag&&(stack||(stack=new Stack),equalObjects(object,other,bitmask,customizer,equalFunc,stack))}function baseIsMap(value){return isObjectLike(value)&&getTag(value)==mapTag}function baseIsMatch(object,source,matchData,customizer){var index=matchData.length,length=index,noCustomizer=!customizer;if(null==object)return!length;for(object=Object(object);index--;){var data=matchData[index];if(noCustomizer&&data[2]?data[1]!==object[data[0]]:!(data[0]in object))return!1}for(;++index<length;){data=matchData[index];var key=data[0],objValue=object[key],srcValue=data[1];if(noCustomizer&&data[2]){if(objValue===undefined&&!(key in object))return!1}else{var stack=new Stack;if(customizer)var result=customizer(objValue,srcValue,key,object,source,stack);if(!(result===undefined?baseIsEqual(srcValue,objValue,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG,customizer,stack):result))return!1}}return!0}function baseIsNative(value){if(!isObject(value)||isMasked(value))return!1;var pattern=isFunction(value)?reIsNative:reIsHostCtor;return pattern.test(toSource(value))}function baseIsRegExp(value){return isObjectLike(value)&&baseGetTag(value)==regexpTag}function baseIsSet(value){return isObjectLike(value)&&getTag(value)==setTag}function baseIsTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[baseGetTag(value)]}function baseIteratee(value){return"function"==typeof value?value:null==value?identity:"object"==typeof value?isArray(value)?baseMatchesProperty(value[0],value[1]):baseMatches(value):property(value)}function baseKeys(object){if(!isPrototype(object))return nativeKeys(object);var result=[];for(var key in Object(object))hasOwnProperty.call(object,key)&&"constructor"!=key&&result.push(key);return result}function baseKeysIn(object){if(!isObject(object))return nativeKeysIn(object);var isProto=isPrototype(object),result=[];for(var key in object)("constructor"!=key||!isProto&&hasOwnProperty.call(object,key))&&result.push(key);return result}function baseLt(value,other){return value<other}function baseMap(collection,iteratee){var index=-1,result=isArrayLike(collection)?Array(collection.length):[];return baseEach(collection,function(value,key,collection){result[++index]=iteratee(value,key,collection)}),result}function baseMatches(source){var matchData=getMatchData(source);return 1==matchData.length&&matchData[0][2]?matchesStrictComparable(matchData[0][0],matchData[0][1]):function(object){return object===source||baseIsMatch(object,source,matchData)}}function baseMatchesProperty(path,srcValue){return isKey(path)&&isStrictComparable(srcValue)?matchesStrictComparable(toKey(path),srcValue):function(object){var objValue=get(object,path);return objValue===undefined&&objValue===srcValue?hasIn(object,path):baseIsEqual(srcValue,objValue,COMPARE_PARTIAL_FLAG|COMPARE_UNORDERED_FLAG)}}function baseMerge(object,source,srcIndex,customizer,stack){object!==source&&baseFor(source,function(srcValue,key){if(isObject(srcValue))stack||(stack=new Stack),baseMergeDeep(object,source,key,srcIndex,baseMerge,customizer,stack);else{var newValue=customizer?customizer(object[key],srcValue,key+"",object,source,stack):undefined;newValue===undefined&&(newValue=srcValue),assignMergeValue(object,key,newValue)}},keysIn)}function baseMergeDeep(object,source,key,srcIndex,mergeFunc,customizer,stack){var objValue=object[key],srcValue=source[key],stacked=stack.get(srcValue);if(stacked)return void assignMergeValue(object,key,stacked);var newValue=customizer?customizer(objValue,srcValue,key+"",object,source,stack):undefined,isCommon=newValue===undefined;if(isCommon){var isArr=isArray(srcValue),isBuff=!isArr&&isBuffer(srcValue),isTyped=!isArr&&!isBuff&&isTypedArray(srcValue);newValue=srcValue,isArr||isBuff||isTyped?isArray(objValue)?newValue=objValue:isArrayLikeObject(objValue)?newValue=copyArray(objValue):isBuff?(isCommon=!1,newValue=cloneBuffer(srcValue,!0)):isTyped?(isCommon=!1,newValue=cloneTypedArray(srcValue,!0)):newValue=[]:isPlainObject(srcValue)||isArguments(srcValue)?(newValue=objValue,isArguments(objValue)?newValue=toPlainObject(objValue):(!isObject(objValue)||srcIndex&&isFunction(objValue))&&(newValue=initCloneObject(srcValue))):isCommon=!1}isCommon&&(stack.set(srcValue,newValue),mergeFunc(newValue,srcValue,srcIndex,customizer,stack),stack["delete"](srcValue)),assignMergeValue(object,key,newValue)}function baseNth(array,n){var length=array.length;if(length)return n+=n<0?length:0,isIndex(n,length)?array[n]:undefined}function baseOrderBy(collection,iteratees,orders){var index=-1;iteratees=arrayMap(iteratees.length?iteratees:[identity],baseUnary(getIteratee()));var result=baseMap(collection,function(value,key,collection){var criteria=arrayMap(iteratees,function(iteratee){return iteratee(value)});return{criteria:criteria,index:++index,value:value}});return baseSortBy(result,function(object,other){return compareMultiple(object,other,orders)})}function basePick(object,paths){return basePickBy(object,paths,function(value,path){return hasIn(object,path)})}function basePickBy(object,paths,predicate){for(var index=-1,length=paths.length,result={};++index<length;){var path=paths[index],value=baseGet(object,path);predicate(value,path)&&baseSet(result,castPath(path,object),value)}return result}function basePropertyDeep(path){return function(object){return baseGet(object,path)}}function basePullAll(array,values,iteratee,comparator){var indexOf=comparator?baseIndexOfWith:baseIndexOf,index=-1,length=values.length,seen=array;for(array===values&&(values=copyArray(values)),iteratee&&(seen=arrayMap(array,baseUnary(iteratee)));++index<length;)for(var fromIndex=0,value=values[index],computed=iteratee?iteratee(value):value;(fromIndex=indexOf(seen,computed,fromIndex,comparator))>-1;)seen!==array&&splice.call(seen,fromIndex,1),splice.call(array,fromIndex,1);return array}function basePullAt(array,indexes){for(var length=array?indexes.length:0,lastIndex=length-1;length--;){var index=indexes[length];if(length==lastIndex||index!==previous){var previous=index;isIndex(index)?splice.call(array,index,1):baseUnset(array,index)}}return array}function baseRandom(lower,upper){return lower+nativeFloor(nativeRandom()*(upper-lower+1))}function baseRange(start,end,step,fromRight){for(var index=-1,length=nativeMax(nativeCeil((end-start)/(step||1)),0),result=Array(length);length--;)result[fromRight?length:++index]=start,start+=step;return result}function baseRepeat(string,n){var result="";if(!string||n<1||n>MAX_SAFE_INTEGER)return result;do n%2&&(result+=string),n=nativeFloor(n/2),n&&(string+=string);while(n);return result}function baseRest(func,start){return setToString(overRest(func,start,identity),func+"")}function baseSample(collection){return arraySample(values(collection))}function baseSampleSize(collection,n){var array=values(collection);return shuffleSelf(array,baseClamp(n,0,array.length))}function baseSet(object,path,value,customizer){if(!isObject(object))return object;path=castPath(path,object);for(var index=-1,length=path.length,lastIndex=length-1,nested=object;null!=nested&&++index<length;){var key=toKey(path[index]),newValue=value;if(index!=lastIndex){var objValue=nested[key];newValue=customizer?customizer(objValue,key,nested):undefined,newValue===undefined&&(newValue=isObject(objValue)?objValue:isIndex(path[index+1])?[]:{})}assignValue(nested,key,newValue),nested=nested[key]}return object}function baseShuffle(collection){return shuffleSelf(values(collection))}function baseSlice(array,start,end){var index=-1,length=array.length;start<0&&(start=-start>length?0:length+start),end=end>length?length:end,end<0&&(end+=length),length=start>end?0:end-start>>>0,start>>>=0;for(var result=Array(length);++index<length;)result[index]=array[index+start];return result}function baseSome(collection,predicate){var result;return baseEach(collection,function(value,index,collection){return result=predicate(value,index,collection),!result}),!!result}function baseSortedIndex(array,value,retHighest){var low=0,high=null==array?low:array.length;if("number"==typeof value&&value===value&&high<=HALF_MAX_ARRAY_LENGTH){for(;low<high;){var mid=low+high>>>1,computed=array[mid];null!==computed&&!isSymbol(computed)&&(retHighest?computed<=value:computed<value)?low=mid+1:high=mid}return high}return baseSortedIndexBy(array,value,identity,retHighest)}function baseSortedIndexBy(array,value,iteratee,retHighest){value=iteratee(value);for(var low=0,high=null==array?0:array.length,valIsNaN=value!==value,valIsNull=null===value,valIsSymbol=isSymbol(value),valIsUndefined=value===undefined;low<high;){var mid=nativeFloor((low+high)/2),computed=iteratee(array[mid]),othIsDefined=computed!==undefined,othIsNull=null===computed,othIsReflexive=computed===computed,othIsSymbol=isSymbol(computed);if(valIsNaN)var setLow=retHighest||othIsReflexive;else setLow=valIsUndefined?othIsReflexive&&(retHighest||othIsDefined):valIsNull?othIsReflexive&&othIsDefined&&(retHighest||!othIsNull):valIsSymbol?othIsReflexive&&othIsDefined&&!othIsNull&&(retHighest||!othIsSymbol):!othIsNull&&!othIsSymbol&&(retHighest?computed<=value:computed<value);setLow?low=mid+1:high=mid}return nativeMin(high,MAX_ARRAY_INDEX)}function baseSortedUniq(array,iteratee){for(var index=-1,length=array.length,resIndex=0,result=[];++index<length;){var value=array[index],computed=iteratee?iteratee(value):value;if(!index||!eq(computed,seen)){var seen=computed;result[resIndex++]=0===value?0:value}}return result}function baseToNumber(value){return"number"==typeof value?value:isSymbol(value)?NAN:+value}function baseToString(value){if("string"==typeof value)return value;if(isArray(value))return arrayMap(value,baseToString)+"";if(isSymbol(value))return symbolToString?symbolToString.call(value):"";var result=value+"";return"0"==result&&1/value==-INFINITY?"-0":result}function baseUniq(array,iteratee,comparator){var index=-1,includes=arrayIncludes,length=array.length,isCommon=!0,result=[],seen=result;if(comparator)isCommon=!1,includes=arrayIncludesWith;else if(length>=LARGE_ARRAY_SIZE){var set=iteratee?null:createSet(array);if(set)return setToArray(set);isCommon=!1,includes=cacheHas,seen=new SetCache}else seen=iteratee?[]:result;outer:for(;++index<length;){var value=array[index],computed=iteratee?iteratee(value):value;if(value=comparator||0!==value?value:0,isCommon&&computed===computed){for(var seenIndex=seen.length;seenIndex--;)if(seen[seenIndex]===computed)continue outer;iteratee&&seen.push(computed),result.push(value)}else includes(seen,computed,comparator)||(seen!==result&&seen.push(computed),result.push(value))}return result}function baseUnset(object,path){return path=castPath(path,object),object=parent(object,path),null==object||delete object[toKey(last(path))]}function baseUpdate(object,path,updater,customizer){return baseSet(object,path,updater(baseGet(object,path)),customizer)}function baseWhile(array,predicate,isDrop,fromRight){for(var length=array.length,index=fromRight?length:-1;(fromRight?index--:++index<length)&&predicate(array[index],index,array););return isDrop?baseSlice(array,fromRight?0:index,fromRight?index+1:length):baseSlice(array,fromRight?index+1:0,fromRight?length:index)}function baseWrapperValue(value,actions){var result=value;return result instanceof LazyWrapper&&(result=result.value()),arrayReduce(actions,function(result,action){return action.func.apply(action.thisArg,arrayPush([result],action.args))},result)}function baseXor(arrays,iteratee,comparator){var length=arrays.length;if(length<2)return length?baseUniq(arrays[0]):[];for(var index=-1,result=Array(length);++index<length;)for(var array=arrays[index],othIndex=-1;++othIndex<length;)othIndex!=index&&(result[index]=baseDifference(result[index]||array,arrays[othIndex],iteratee,comparator));return baseUniq(baseFlatten(result,1),iteratee,comparator)}function baseZipObject(props,values,assignFunc){for(var index=-1,length=props.length,valsLength=values.length,result={};++index<length;){var value=index<valsLength?values[index]:undefined;assignFunc(result,props[index],value)}return result}function castArrayLikeObject(value){return isArrayLikeObject(value)?value:[]}function castFunction(value){return"function"==typeof value?value:identity}function castPath(value,object){return isArray(value)?value:isKey(value,object)?[value]:stringToPath(toString(value))}function castSlice(array,start,end){var length=array.length;return end=end===undefined?length:end,!start&&end>=length?array:baseSlice(array,start,end)}function cloneBuffer(buffer,isDeep){if(isDeep)return buffer.slice();var length=buffer.length,result=allocUnsafe?allocUnsafe(length):new buffer.constructor(length);return buffer.copy(result),result}function cloneArrayBuffer(arrayBuffer){var result=new arrayBuffer.constructor(arrayBuffer.byteLength);return new Uint8Array(result).set(new Uint8Array(arrayBuffer)),result}function cloneDataView(dataView,isDeep){var buffer=isDeep?cloneArrayBuffer(dataView.buffer):dataView.buffer;return new dataView.constructor(buffer,dataView.byteOffset,dataView.byteLength)}function cloneMap(map,isDeep,cloneFunc){var array=isDeep?cloneFunc(mapToArray(map),CLONE_DEEP_FLAG):mapToArray(map);return arrayReduce(array,addMapEntry,new map.constructor)}function cloneRegExp(regexp){var result=new regexp.constructor(regexp.source,reFlags.exec(regexp));return result.lastIndex=regexp.lastIndex,result}function cloneSet(set,isDeep,cloneFunc){var array=isDeep?cloneFunc(setToArray(set),CLONE_DEEP_FLAG):setToArray(set);return arrayReduce(array,addSetEntry,new set.constructor)}function cloneSymbol(symbol){return symbolValueOf?Object(symbolValueOf.call(symbol)):{}}function cloneTypedArray(typedArray,isDeep){var buffer=isDeep?cloneArrayBuffer(typedArray.buffer):typedArray.buffer;return new typedArray.constructor(buffer,typedArray.byteOffset,typedArray.length)}function compareAscending(value,other){if(value!==other){var valIsDefined=value!==undefined,valIsNull=null===value,valIsReflexive=value===value,valIsSymbol=isSymbol(value),othIsDefined=other!==undefined,othIsNull=null===other,othIsReflexive=other===other,othIsSymbol=isSymbol(other);if(!othIsNull&&!othIsSymbol&&!valIsSymbol&&value>other||valIsSymbol&&othIsDefined&&othIsReflexive&&!othIsNull&&!othIsSymbol||valIsNull&&othIsDefined&&othIsReflexive||!valIsDefined&&othIsReflexive||!valIsReflexive)return 1;if(!valIsNull&&!valIsSymbol&&!othIsSymbol&&value<other||othIsSymbol&&valIsDefined&&valIsReflexive&&!valIsNull&&!valIsSymbol||othIsNull&&valIsDefined&&valIsReflexive||!othIsDefined&&valIsReflexive||!othIsReflexive)return-1}return 0}function compareMultiple(object,other,orders){for(var index=-1,objCriteria=object.criteria,othCriteria=other.criteria,length=objCriteria.length,ordersLength=orders.length;++index<length;){var result=compareAscending(objCriteria[index],othCriteria[index]);if(result){if(index>=ordersLength)return result;var order=orders[index];return result*("desc"==order?-1:1)}}return object.index-other.index}function composeArgs(args,partials,holders,isCurried){for(var argsIndex=-1,argsLength=args.length,holdersLength=holders.length,leftIndex=-1,leftLength=partials.length,rangeLength=nativeMax(argsLength-holdersLength,0),result=Array(leftLength+rangeLength),isUncurried=!isCurried;++leftIndex<leftLength;)result[leftIndex]=partials[leftIndex];for(;++argsIndex<holdersLength;)(isUncurried||argsIndex<argsLength)&&(result[holders[argsIndex]]=args[argsIndex]);for(;rangeLength--;)result[leftIndex++]=args[argsIndex++];return result}function composeArgsRight(args,partials,holders,isCurried){for(var argsIndex=-1,argsLength=args.length,holdersIndex=-1,holdersLength=holders.length,rightIndex=-1,rightLength=partials.length,rangeLength=nativeMax(argsLength-holdersLength,0),result=Array(rangeLength+rightLength),isUncurried=!isCurried;++argsIndex<rangeLength;)result[argsIndex]=args[argsIndex];for(var offset=argsIndex;++rightIndex<rightLength;)result[offset+rightIndex]=partials[rightIndex];for(;++holdersIndex<holdersLength;)(isUncurried||argsIndex<argsLength)&&(result[offset+holders[holdersIndex]]=args[argsIndex++]);return result}function copyArray(source,array){var index=-1,length=source.length;for(array||(array=Array(length));++index<length;)array[index]=source[index];return array}function copyObject(source,props,object,customizer){var isNew=!object;object||(object={});for(var index=-1,length=props.length;++index<length;){var key=props[index],newValue=customizer?customizer(object[key],source[key],key,object,source):undefined;newValue===undefined&&(newValue=source[key]),isNew?baseAssignValue(object,key,newValue):assignValue(object,key,newValue)}return object}function copySymbols(source,object){return copyObject(source,getSymbols(source),object)}function copySymbolsIn(source,object){return copyObject(source,getSymbolsIn(source),object)}function createAggregator(setter,initializer){return function(collection,iteratee){var func=isArray(collection)?arrayAggregator:baseAggregator,accumulator=initializer?initializer():{};return func(collection,setter,getIteratee(iteratee,2),accumulator)}}function createAssigner(assigner){return baseRest(function(object,sources){var index=-1,length=sources.length,customizer=length>1?sources[length-1]:undefined,guard=length>2?sources[2]:undefined;for(customizer=assigner.length>3&&"function"==typeof customizer?(length--,customizer):undefined,guard&&isIterateeCall(sources[0],sources[1],guard)&&(customizer=length<3?undefined:customizer,length=1),object=Object(object);++index<length;){var source=sources[index];source&&assigner(object,source,index,customizer)}return object})}function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){if(null==collection)return collection;if(!isArrayLike(collection))return eachFunc(collection,iteratee);for(var length=collection.length,index=fromRight?length:-1,iterable=Object(collection);(fromRight?index--:++index<length)&&iteratee(iterable[index],index,iterable)!==!1;);return collection}}function createBaseFor(fromRight){return function(object,iteratee,keysFunc){for(var index=-1,iterable=Object(object),props=keysFunc(object),length=props.length;length--;){var key=props[fromRight?length:++index];if(iteratee(iterable[key],key,iterable)===!1)break}return object}}function createBind(func,bitmask,thisArg){function wrapper(){var fn=this&&this!==root&&this instanceof wrapper?Ctor:func;return fn.apply(isBind?thisArg:this,arguments)}var isBind=bitmask&WRAP_BIND_FLAG,Ctor=createCtor(func);return wrapper}function createCaseFirst(methodName){return function(string){string=toString(string);var strSymbols=hasUnicode(string)?stringToArray(string):undefined,chr=strSymbols?strSymbols[0]:string.charAt(0),trailing=strSymbols?castSlice(strSymbols,1).join(""):string.slice(1);return chr[methodName]()+trailing}}function createCompounder(callback){return function(string){return arrayReduce(words(deburr(string).replace(reApos,"")),callback,"")}}function createCtor(Ctor){return function(){var args=arguments;switch(args.length){case 0:return new Ctor;case 1:return new Ctor(args[0]);case 2:return new Ctor(args[0],args[1]);case 3:return new Ctor(args[0],args[1],args[2]);case 4:return new Ctor(args[0],args[1],args[2],args[3]);case 5:return new Ctor(args[0],args[1],args[2],args[3],args[4]);case 6:return new Ctor(args[0],args[1],args[2],args[3],args[4],args[5]);case 7:return new Ctor(args[0],args[1],args[2],args[3],args[4],args[5],args[6])}var thisBinding=baseCreate(Ctor.prototype),result=Ctor.apply(thisBinding,args);return isObject(result)?result:thisBinding}}function createCurry(func,bitmask,arity){function wrapper(){for(var length=arguments.length,args=Array(length),index=length,placeholder=getHolder(wrapper);index--;)args[index]=arguments[index];var holders=length<3&&args[0]!==placeholder&&args[length-1]!==placeholder?[]:replaceHolders(args,placeholder);if(length-=holders.length,length<arity)return createRecurry(func,bitmask,createHybrid,wrapper.placeholder,undefined,args,holders,undefined,undefined,arity-length);var fn=this&&this!==root&&this instanceof wrapper?Ctor:func;return apply(fn,this,args)}var Ctor=createCtor(func);return wrapper}function createFind(findIndexFunc){return function(collection,predicate,fromIndex){var iterable=Object(collection);if(!isArrayLike(collection)){var iteratee=getIteratee(predicate,3);collection=keys(collection),predicate=function(key){return iteratee(iterable[key],key,iterable)}}var index=findIndexFunc(collection,predicate,fromIndex);return index>-1?iterable[iteratee?collection[index]:index]:undefined}}function createFlow(fromRight){return flatRest(function(funcs){var length=funcs.length,index=length,prereq=LodashWrapper.prototype.thru;for(fromRight&&funcs.reverse();index--;){var func=funcs[index];if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);if(prereq&&!wrapper&&"wrapper"==getFuncName(func))var wrapper=new LodashWrapper([],(!0))}for(index=wrapper?index:length;++index<length;){func=funcs[index];var funcName=getFuncName(func),data="wrapper"==funcName?getData(func):undefined;wrapper=data&&isLaziable(data[0])&&data[1]==(WRAP_ARY_FLAG|WRAP_CURRY_FLAG|WRAP_PARTIAL_FLAG|WRAP_REARG_FLAG)&&!data[4].length&&1==data[9]?wrapper[getFuncName(data[0])].apply(wrapper,data[3]):1==func.length&&isLaziable(func)?wrapper[funcName]():wrapper.thru(func)}return function(){var args=arguments,value=args[0];if(wrapper&&1==args.length&&isArray(value))return wrapper.plant(value).value();for(var index=0,result=length?funcs[index].apply(this,args):value;++index<length;)result=funcs[index].call(this,result);return result}})}function createHybrid(func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity){function wrapper(){for(var length=arguments.length,args=Array(length),index=length;index--;)args[index]=arguments[index];if(isCurried)var placeholder=getHolder(wrapper),holdersCount=countHolders(args,placeholder);if(partials&&(args=composeArgs(args,partials,holders,isCurried)),partialsRight&&(args=composeArgsRight(args,partialsRight,holdersRight,isCurried)),length-=holdersCount,isCurried&&length<arity){var newHolders=replaceHolders(args,placeholder);return createRecurry(func,bitmask,createHybrid,wrapper.placeholder,thisArg,args,newHolders,argPos,ary,arity-length)}var thisBinding=isBind?thisArg:this,fn=isBindKey?thisBinding[func]:func;return length=args.length,argPos?args=reorder(args,argPos):isFlip&&length>1&&args.reverse(),isAry&&ary<length&&(args.length=ary),this&&this!==root&&this instanceof wrapper&&(fn=Ctor||createCtor(fn)),fn.apply(thisBinding,args)}var isAry=bitmask&WRAP_ARY_FLAG,isBind=bitmask&WRAP_BIND_FLAG,isBindKey=bitmask&WRAP_BIND_KEY_FLAG,isCurried=bitmask&(WRAP_CURRY_FLAG|WRAP_CURRY_RIGHT_FLAG),isFlip=bitmask&WRAP_FLIP_FLAG,Ctor=isBindKey?undefined:createCtor(func);return wrapper}function createInverter(setter,toIteratee){return function(object,iteratee){return baseInverter(object,setter,toIteratee(iteratee),{})}}function createMathOperation(operator,defaultValue){return function(value,other){var result;if(value===undefined&&other===undefined)return defaultValue;if(value!==undefined&&(result=value),other!==undefined){if(result===undefined)return other;"string"==typeof value||"string"==typeof other?(value=baseToString(value),other=baseToString(other)):(value=baseToNumber(value),other=baseToNumber(other)),result=operator(value,other)}return result}}function createOver(arrayFunc){return flatRest(function(iteratees){return iteratees=arrayMap(iteratees,baseUnary(getIteratee())),baseRest(function(args){var thisArg=this;return arrayFunc(iteratees,function(iteratee){return apply(iteratee,thisArg,args)})})})}function createPadding(length,chars){chars=chars===undefined?" ":baseToString(chars);var charsLength=chars.length;if(charsLength<2)return charsLength?baseRepeat(chars,length):chars;var result=baseRepeat(chars,nativeCeil(length/stringSize(chars)));return hasUnicode(chars)?castSlice(stringToArray(result),0,length).join(""):result.slice(0,length)}function createPartial(func,bitmask,thisArg,partials){function wrapper(){for(var argsIndex=-1,argsLength=arguments.length,leftIndex=-1,leftLength=partials.length,args=Array(leftLength+argsLength),fn=this&&this!==root&&this instanceof wrapper?Ctor:func;++leftIndex<leftLength;)args[leftIndex]=partials[leftIndex];for(;argsLength--;)args[leftIndex++]=arguments[++argsIndex];return apply(fn,isBind?thisArg:this,args)}var isBind=bitmask&WRAP_BIND_FLAG,Ctor=createCtor(func);return wrapper}function createRange(fromRight){return function(start,end,step){return step&&"number"!=typeof step&&isIterateeCall(start,end,step)&&(end=step=undefined),start=toFinite(start),end===undefined?(end=start,start=0):end=toFinite(end),step=step===undefined?start<end?1:-1:toFinite(step),baseRange(start,end,step,fromRight)}}function createRelationalOperation(operator){return function(value,other){return"string"==typeof value&&"string"==typeof other||(value=toNumber(value),other=toNumber(other)),operator(value,other)}}function createRecurry(func,bitmask,wrapFunc,placeholder,thisArg,partials,holders,argPos,ary,arity){var isCurry=bitmask&WRAP_CURRY_FLAG,newHolders=isCurry?holders:undefined,newHoldersRight=isCurry?undefined:holders,newPartials=isCurry?partials:undefined,newPartialsRight=isCurry?undefined:partials;bitmask|=isCurry?WRAP_PARTIAL_FLAG:WRAP_PARTIAL_RIGHT_FLAG,bitmask&=~(isCurry?WRAP_PARTIAL_RIGHT_FLAG:WRAP_PARTIAL_FLAG),bitmask&WRAP_CURRY_BOUND_FLAG||(bitmask&=~(WRAP_BIND_FLAG|WRAP_BIND_KEY_FLAG));var newData=[func,bitmask,thisArg,newPartials,newHolders,newPartialsRight,newHoldersRight,argPos,ary,arity],result=wrapFunc.apply(undefined,newData);return isLaziable(func)&&setData(result,newData),result.placeholder=placeholder,setWrapToString(result,func,bitmask)}function createRound(methodName){var func=Math[methodName];return function(number,precision){if(number=toNumber(number),precision=null==precision?0:nativeMin(toInteger(precision),292)){var pair=(toString(number)+"e").split("e"),value=func(pair[0]+"e"+(+pair[1]+precision));return pair=(toString(value)+"e").split("e"),+(pair[0]+"e"+(+pair[1]-precision))}return func(number)}}function createToPairs(keysFunc){return function(object){var tag=getTag(object);return tag==mapTag?mapToArray(object):tag==setTag?setToPairs(object):baseToPairs(object,keysFunc(object))}}function createWrap(func,bitmask,thisArg,partials,holders,argPos,ary,arity){var isBindKey=bitmask&WRAP_BIND_KEY_FLAG;if(!isBindKey&&"function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);var length=partials?partials.length:0;if(length||(bitmask&=~(WRAP_PARTIAL_FLAG|WRAP_PARTIAL_RIGHT_FLAG),partials=holders=undefined),ary=ary===undefined?ary:nativeMax(toInteger(ary),0),arity=arity===undefined?arity:toInteger(arity),length-=holders?holders.length:0,bitmask&WRAP_PARTIAL_RIGHT_FLAG){var partialsRight=partials,holdersRight=holders;partials=holders=undefined}var data=isBindKey?undefined:getData(func),newData=[func,bitmask,thisArg,partials,holders,partialsRight,holdersRight,argPos,ary,arity];if(data&&mergeData(newData,data),func=newData[0],bitmask=newData[1],thisArg=newData[2],partials=newData[3],holders=newData[4],arity=newData[9]=newData[9]===undefined?isBindKey?0:func.length:nativeMax(newData[9]-length,0),!arity&&bitmask&(WRAP_CURRY_FLAG|WRAP_CURRY_RIGHT_FLAG)&&(bitmask&=~(WRAP_CURRY_FLAG|WRAP_CURRY_RIGHT_FLAG)),bitmask&&bitmask!=WRAP_BIND_FLAG)result=bitmask==WRAP_CURRY_FLAG||bitmask==WRAP_CURRY_RIGHT_FLAG?createCurry(func,bitmask,arity):bitmask!=WRAP_PARTIAL_FLAG&&bitmask!=(WRAP_BIND_FLAG|WRAP_PARTIAL_FLAG)||holders.length?createHybrid.apply(undefined,newData):createPartial(func,bitmask,thisArg,partials);else var result=createBind(func,bitmask,thisArg);var setter=data?baseSetData:setData;return setWrapToString(setter(result,newData),func,bitmask)}function customDefaultsAssignIn(objValue,srcValue,key,object){return objValue===undefined||eq(objValue,objectProto[key])&&!hasOwnProperty.call(object,key)?srcValue:objValue}function customDefaultsMerge(objValue,srcValue,key,object,source,stack){return isObject(objValue)&&isObject(srcValue)&&(stack.set(srcValue,objValue),baseMerge(objValue,srcValue,undefined,customDefaultsMerge,stack),stack["delete"](srcValue)),objValue}function customOmitClone(value){return isPlainObject(value)?undefined:value}function equalArrays(array,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG,arrLength=array.length,othLength=other.length;if(arrLength!=othLength&&!(isPartial&&othLength>arrLength))return!1;var stacked=stack.get(array);if(stacked&&stack.get(other))return stacked==other;var index=-1,result=!0,seen=bitmask&COMPARE_UNORDERED_FLAG?new SetCache:undefined;for(stack.set(array,other),stack.set(other,array);++index<arrLength;){var arrValue=array[index],othValue=other[index];if(customizer)var compared=isPartial?customizer(othValue,arrValue,index,other,array,stack):customizer(arrValue,othValue,index,array,other,stack);if(compared!==undefined){if(compared)continue;result=!1;break}if(seen){if(!arraySome(other,function(othValue,othIndex){if(!cacheHas(seen,othIndex)&&(arrValue===othValue||equalFunc(arrValue,othValue,bitmask,customizer,stack)))return seen.push(othIndex)})){result=!1;break}}else if(arrValue!==othValue&&!equalFunc(arrValue,othValue,bitmask,customizer,stack)){result=!1;break}}return stack["delete"](array),stack["delete"](other),result}function equalByTag(object,other,tag,bitmask,customizer,equalFunc,stack){switch(tag){case dataViewTag:if(object.byteLength!=other.byteLength||object.byteOffset!=other.byteOffset)return!1;object=object.buffer,other=other.buffer;case arrayBufferTag:return!(object.byteLength!=other.byteLength||!equalFunc(new Uint8Array(object),new Uint8Array(other)));case boolTag:case dateTag:case numberTag:return eq(+object,+other);case errorTag:return object.name==other.name&&object.message==other.message;case regexpTag:case stringTag:return object==other+"";case mapTag:var convert=mapToArray;case setTag:var isPartial=bitmask&COMPARE_PARTIAL_FLAG;if(convert||(convert=setToArray),object.size!=other.size&&!isPartial)return!1;var stacked=stack.get(object);if(stacked)return stacked==other;bitmask|=COMPARE_UNORDERED_FLAG,stack.set(object,other);var result=equalArrays(convert(object),convert(other),bitmask,customizer,equalFunc,stack);return stack["delete"](object),result;case symbolTag:if(symbolValueOf)return symbolValueOf.call(object)==symbolValueOf.call(other)}return!1}function equalObjects(object,other,bitmask,customizer,equalFunc,stack){var isPartial=bitmask&COMPARE_PARTIAL_FLAG,objProps=getAllKeys(object),objLength=objProps.length,othProps=getAllKeys(other),othLength=othProps.length;if(objLength!=othLength&&!isPartial)return!1;for(var index=objLength;index--;){var key=objProps[index];if(!(isPartial?key in other:hasOwnProperty.call(other,key)))return!1}var stacked=stack.get(object);if(stacked&&stack.get(other))return stacked==other;var result=!0;stack.set(object,other),stack.set(other,object);for(var skipCtor=isPartial;++index<objLength;){key=objProps[index];var objValue=object[key],othValue=other[key];if(customizer)var compared=isPartial?customizer(othValue,objValue,key,other,object,stack):customizer(objValue,othValue,key,object,other,stack);
+if(!(compared===undefined?objValue===othValue||equalFunc(objValue,othValue,bitmask,customizer,stack):compared)){result=!1;break}skipCtor||(skipCtor="constructor"==key)}if(result&&!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;objCtor!=othCtor&&"constructor"in object&&"constructor"in other&&!("function"==typeof objCtor&&objCtor instanceof objCtor&&"function"==typeof othCtor&&othCtor instanceof othCtor)&&(result=!1)}return stack["delete"](object),stack["delete"](other),result}function flatRest(func){return setToString(overRest(func,undefined,flatten),func+"")}function getAllKeys(object){return baseGetAllKeys(object,keys,getSymbols)}function getAllKeysIn(object){return baseGetAllKeys(object,keysIn,getSymbolsIn)}function getFuncName(func){for(var result=func.name+"",array=realNames[result],length=hasOwnProperty.call(realNames,result)?array.length:0;length--;){var data=array[length],otherFunc=data.func;if(null==otherFunc||otherFunc==func)return data.name}return result}function getHolder(func){var object=hasOwnProperty.call(lodash,"placeholder")?lodash:func;return object.placeholder}function getIteratee(){var result=lodash.iteratee||iteratee;return result=result===iteratee?baseIteratee:result,arguments.length?result(arguments[0],arguments[1]):result}function getMapData(map,key){var data=map.__data__;return isKeyable(key)?data["string"==typeof key?"string":"hash"]:data.map}function getMatchData(object){for(var result=keys(object),length=result.length;length--;){var key=result[length],value=object[key];result[length]=[key,value,isStrictComparable(value)]}return result}function getNative(object,key){var value=getValue(object,key);return baseIsNative(value)?value:undefined}function getRawTag(value){var isOwn=hasOwnProperty.call(value,symToStringTag),tag=value[symToStringTag];try{value[symToStringTag]=undefined;var unmasked=!0}catch(e){}var result=nativeObjectToString.call(value);return unmasked&&(isOwn?value[symToStringTag]=tag:delete value[symToStringTag]),result}function getView(start,end,transforms){for(var index=-1,length=transforms.length;++index<length;){var data=transforms[index],size=data.size;switch(data.type){case"drop":start+=size;break;case"dropRight":end-=size;break;case"take":end=nativeMin(end,start+size);break;case"takeRight":start=nativeMax(start,end-size)}}return{start:start,end:end}}function getWrapDetails(source){var match=source.match(reWrapDetails);return match?match[1].split(reSplitDetails):[]}function hasPath(object,path,hasFunc){path=castPath(path,object);for(var index=-1,length=path.length,result=!1;++index<length;){var key=toKey(path[index]);if(!(result=null!=object&&hasFunc(object,key)))break;object=object[key]}return result||++index!=length?result:(length=null==object?0:object.length,!!length&&isLength(length)&&isIndex(key,length)&&(isArray(object)||isArguments(object)))}function initCloneArray(array){var length=array.length,result=array.constructor(length);return length&&"string"==typeof array[0]&&hasOwnProperty.call(array,"index")&&(result.index=array.index,result.input=array.input),result}function initCloneObject(object){return"function"!=typeof object.constructor||isPrototype(object)?{}:baseCreate(getPrototype(object))}function initCloneByTag(object,tag,cloneFunc,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return cloneArrayBuffer(object);case boolTag:case dateTag:return new Ctor((+object));case dataViewTag:return cloneDataView(object,isDeep);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:return cloneTypedArray(object,isDeep);case mapTag:return cloneMap(object,isDeep,cloneFunc);case numberTag:case stringTag:return new Ctor(object);case regexpTag:return cloneRegExp(object);case setTag:return cloneSet(object,isDeep,cloneFunc);case symbolTag:return cloneSymbol(object)}}function insertWrapDetails(source,details){var length=details.length;if(!length)return source;var lastIndex=length-1;return details[lastIndex]=(length>1?"& ":"")+details[lastIndex],details=details.join(length>2?", ":" "),source.replace(reWrapComment,"{\n/* [wrapped with "+details+"] */\n")}function isFlattenable(value){return isArray(value)||isArguments(value)||!!(spreadableSymbol&&value&&value[spreadableSymbol])}function isIndex(value,length){return length=null==length?MAX_SAFE_INTEGER:length,!!length&&("number"==typeof value||reIsUint.test(value))&&value>-1&&value%1==0&&value<length}function isIterateeCall(value,index,object){if(!isObject(object))return!1;var type=typeof index;return!!("number"==type?isArrayLike(object)&&isIndex(index,object.length):"string"==type&&index in object)&&eq(object[index],value)}function isKey(value,object){if(isArray(value))return!1;var type=typeof value;return!("number"!=type&&"symbol"!=type&&"boolean"!=type&&null!=value&&!isSymbol(value))||(reIsPlainProp.test(value)||!reIsDeepProp.test(value)||null!=object&&value in Object(object))}function isKeyable(value){var type=typeof value;return"string"==type||"number"==type||"symbol"==type||"boolean"==type?"__proto__"!==value:null===value}function isLaziable(func){var funcName=getFuncName(func),other=lodash[funcName];if("function"!=typeof other||!(funcName in LazyWrapper.prototype))return!1;if(func===other)return!0;var data=getData(other);return!!data&&func===data[0]}function isMasked(func){return!!maskSrcKey&&maskSrcKey in func}function isPrototype(value){var Ctor=value&&value.constructor,proto="function"==typeof Ctor&&Ctor.prototype||objectProto;return value===proto}function isStrictComparable(value){return value===value&&!isObject(value)}function matchesStrictComparable(key,srcValue){return function(object){return null!=object&&(object[key]===srcValue&&(srcValue!==undefined||key in Object(object)))}}function memoizeCapped(func){var result=memoize(func,function(key){return cache.size===MAX_MEMOIZE_SIZE&&cache.clear(),key}),cache=result.cache;return result}function mergeData(data,source){var bitmask=data[1],srcBitmask=source[1],newBitmask=bitmask|srcBitmask,isCommon=newBitmask<(WRAP_BIND_FLAG|WRAP_BIND_KEY_FLAG|WRAP_ARY_FLAG),isCombo=srcBitmask==WRAP_ARY_FLAG&&bitmask==WRAP_CURRY_FLAG||srcBitmask==WRAP_ARY_FLAG&&bitmask==WRAP_REARG_FLAG&&data[7].length<=source[8]||srcBitmask==(WRAP_ARY_FLAG|WRAP_REARG_FLAG)&&source[7].length<=source[8]&&bitmask==WRAP_CURRY_FLAG;if(!isCommon&&!isCombo)return data;srcBitmask&WRAP_BIND_FLAG&&(data[2]=source[2],newBitmask|=bitmask&WRAP_BIND_FLAG?0:WRAP_CURRY_BOUND_FLAG);var value=source[3];if(value){var partials=data[3];data[3]=partials?composeArgs(partials,value,source[4]):value,data[4]=partials?replaceHolders(data[3],PLACEHOLDER):source[4]}return value=source[5],value&&(partials=data[5],data[5]=partials?composeArgsRight(partials,value,source[6]):value,data[6]=partials?replaceHolders(data[5],PLACEHOLDER):source[6]),value=source[7],value&&(data[7]=value),srcBitmask&WRAP_ARY_FLAG&&(data[8]=null==data[8]?source[8]:nativeMin(data[8],source[8])),null==data[9]&&(data[9]=source[9]),data[0]=source[0],data[1]=newBitmask,data}function nativeKeysIn(object){var result=[];if(null!=object)for(var key in Object(object))result.push(key);return result}function objectToString(value){return nativeObjectToString.call(value)}function overRest(func,start,transform){return start=nativeMax(start===undefined?func.length-1:start,0),function(){for(var args=arguments,index=-1,length=nativeMax(args.length-start,0),array=Array(length);++index<length;)array[index]=args[start+index];index=-1;for(var otherArgs=Array(start+1);++index<start;)otherArgs[index]=args[index];return otherArgs[start]=transform(array),apply(func,this,otherArgs)}}function parent(object,path){return path.length<2?object:baseGet(object,baseSlice(path,0,-1))}function reorder(array,indexes){for(var arrLength=array.length,length=nativeMin(indexes.length,arrLength),oldArray=copyArray(array);length--;){var index=indexes[length];array[length]=isIndex(index,arrLength)?oldArray[index]:undefined}return array}function setWrapToString(wrapper,reference,bitmask){var source=reference+"";return setToString(wrapper,insertWrapDetails(source,updateWrapDetails(getWrapDetails(source),bitmask)))}function shortOut(func){var count=0,lastCalled=0;return function(){var stamp=nativeNow(),remaining=HOT_SPAN-(stamp-lastCalled);if(lastCalled=stamp,remaining>0){if(++count>=HOT_COUNT)return arguments[0]}else count=0;return func.apply(undefined,arguments)}}function shuffleSelf(array,size){var index=-1,length=array.length,lastIndex=length-1;for(size=size===undefined?length:size;++index<size;){var rand=baseRandom(index,lastIndex),value=array[rand];array[rand]=array[index],array[index]=value}return array.length=size,array}function toKey(value){if("string"==typeof value||isSymbol(value))return value;var result=value+"";return"0"==result&&1/value==-INFINITY?"-0":result}function toSource(func){if(null!=func){try{return funcToString.call(func)}catch(e){}try{return func+""}catch(e){}}return""}function updateWrapDetails(details,bitmask){return arrayEach(wrapFlags,function(pair){var value="_."+pair[0];bitmask&pair[1]&&!arrayIncludes(details,value)&&details.push(value)}),details.sort()}function wrapperClone(wrapper){if(wrapper instanceof LazyWrapper)return wrapper.clone();var result=new LodashWrapper(wrapper.__wrapped__,wrapper.__chain__);return result.__actions__=copyArray(wrapper.__actions__),result.__index__=wrapper.__index__,result.__values__=wrapper.__values__,result}function chunk(array,size,guard){size=(guard?isIterateeCall(array,size,guard):size===undefined)?1:nativeMax(toInteger(size),0);var length=null==array?0:array.length;if(!length||size<1)return[];for(var index=0,resIndex=0,result=Array(nativeCeil(length/size));index<length;)result[resIndex++]=baseSlice(array,index,index+=size);return result}function compact(array){for(var index=-1,length=null==array?0:array.length,resIndex=0,result=[];++index<length;){var value=array[index];value&&(result[resIndex++]=value)}return result}function concat(){var length=arguments.length;if(!length)return[];for(var args=Array(length-1),array=arguments[0],index=length;index--;)args[index-1]=arguments[index];return arrayPush(isArray(array)?copyArray(array):[array],baseFlatten(args,1))}function drop(array,n,guard){var length=null==array?0:array.length;return length?(n=guard||n===undefined?1:toInteger(n),baseSlice(array,n<0?0:n,length)):[]}function dropRight(array,n,guard){var length=null==array?0:array.length;return length?(n=guard||n===undefined?1:toInteger(n),n=length-n,baseSlice(array,0,n<0?0:n)):[]}function dropRightWhile(array,predicate){return array&&array.length?baseWhile(array,getIteratee(predicate,3),!0,!0):[]}function dropWhile(array,predicate){return array&&array.length?baseWhile(array,getIteratee(predicate,3),!0):[]}function fill(array,value,start,end){var length=null==array?0:array.length;return length?(start&&"number"!=typeof start&&isIterateeCall(array,value,start)&&(start=0,end=length),baseFill(array,value,start,end)):[]}function findIndex(array,predicate,fromIndex){var length=null==array?0:array.length;if(!length)return-1;var index=null==fromIndex?0:toInteger(fromIndex);return index<0&&(index=nativeMax(length+index,0)),baseFindIndex(array,getIteratee(predicate,3),index)}function findLastIndex(array,predicate,fromIndex){var length=null==array?0:array.length;if(!length)return-1;var index=length-1;return fromIndex!==undefined&&(index=toInteger(fromIndex),index=fromIndex<0?nativeMax(length+index,0):nativeMin(index,length-1)),baseFindIndex(array,getIteratee(predicate,3),index,!0)}function flatten(array){var length=null==array?0:array.length;return length?baseFlatten(array,1):[]}function flattenDeep(array){var length=null==array?0:array.length;return length?baseFlatten(array,INFINITY):[]}function flattenDepth(array,depth){var length=null==array?0:array.length;return length?(depth=depth===undefined?1:toInteger(depth),baseFlatten(array,depth)):[]}function fromPairs(pairs){for(var index=-1,length=null==pairs?0:pairs.length,result={};++index<length;){var pair=pairs[index];result[pair[0]]=pair[1]}return result}function head(array){return array&&array.length?array[0]:undefined}function indexOf(array,value,fromIndex){var length=null==array?0:array.length;if(!length)return-1;var index=null==fromIndex?0:toInteger(fromIndex);return index<0&&(index=nativeMax(length+index,0)),baseIndexOf(array,value,index)}function initial(array){var length=null==array?0:array.length;return length?baseSlice(array,0,-1):[]}function join(array,separator){return null==array?"":nativeJoin.call(array,separator)}function last(array){var length=null==array?0:array.length;return length?array[length-1]:undefined}function lastIndexOf(array,value,fromIndex){var length=null==array?0:array.length;if(!length)return-1;var index=length;return fromIndex!==undefined&&(index=toInteger(fromIndex),index=index<0?nativeMax(length+index,0):nativeMin(index,length-1)),value===value?strictLastIndexOf(array,value,index):baseFindIndex(array,baseIsNaN,index,!0)}function nth(array,n){return array&&array.length?baseNth(array,toInteger(n)):undefined}function pullAll(array,values){return array&&array.length&&values&&values.length?basePullAll(array,values):array}function pullAllBy(array,values,iteratee){return array&&array.length&&values&&values.length?basePullAll(array,values,getIteratee(iteratee,2)):array}function pullAllWith(array,values,comparator){return array&&array.length&&values&&values.length?basePullAll(array,values,undefined,comparator):array}function remove(array,predicate){var result=[];if(!array||!array.length)return result;var index=-1,indexes=[],length=array.length;for(predicate=getIteratee(predicate,3);++index<length;){var value=array[index];predicate(value,index,array)&&(result.push(value),indexes.push(index))}return basePullAt(array,indexes),result}function reverse(array){return null==array?array:nativeReverse.call(array)}function slice(array,start,end){var length=null==array?0:array.length;return length?(end&&"number"!=typeof end&&isIterateeCall(array,start,end)?(start=0,end=length):(start=null==start?0:toInteger(start),end=end===undefined?length:toInteger(end)),baseSlice(array,start,end)):[]}function sortedIndex(array,value){return baseSortedIndex(array,value)}function sortedIndexBy(array,value,iteratee){return baseSortedIndexBy(array,value,getIteratee(iteratee,2))}function sortedIndexOf(array,value){var length=null==array?0:array.length;if(length){var index=baseSortedIndex(array,value);if(index<length&&eq(array[index],value))return index}return-1}function sortedLastIndex(array,value){return baseSortedIndex(array,value,!0)}function sortedLastIndexBy(array,value,iteratee){return baseSortedIndexBy(array,value,getIteratee(iteratee,2),!0)}function sortedLastIndexOf(array,value){var length=null==array?0:array.length;if(length){var index=baseSortedIndex(array,value,!0)-1;if(eq(array[index],value))return index}return-1}function sortedUniq(array){return array&&array.length?baseSortedUniq(array):[]}function sortedUniqBy(array,iteratee){return array&&array.length?baseSortedUniq(array,getIteratee(iteratee,2)):[]}function tail(array){var length=null==array?0:array.length;return length?baseSlice(array,1,length):[]}function take(array,n,guard){return array&&array.length?(n=guard||n===undefined?1:toInteger(n),baseSlice(array,0,n<0?0:n)):[]}function takeRight(array,n,guard){var length=null==array?0:array.length;return length?(n=guard||n===undefined?1:toInteger(n),n=length-n,baseSlice(array,n<0?0:n,length)):[]}function takeRightWhile(array,predicate){return array&&array.length?baseWhile(array,getIteratee(predicate,3),!1,!0):[]}function takeWhile(array,predicate){return array&&array.length?baseWhile(array,getIteratee(predicate,3)):[]}function uniq(array){return array&&array.length?baseUniq(array):[]}function uniqBy(array,iteratee){return array&&array.length?baseUniq(array,getIteratee(iteratee,2)):[]}function uniqWith(array,comparator){return comparator="function"==typeof comparator?comparator:undefined,array&&array.length?baseUniq(array,undefined,comparator):[]}function unzip(array){if(!array||!array.length)return[];var length=0;return array=arrayFilter(array,function(group){if(isArrayLikeObject(group))return length=nativeMax(group.length,length),!0}),baseTimes(length,function(index){return arrayMap(array,baseProperty(index))})}function unzipWith(array,iteratee){if(!array||!array.length)return[];var result=unzip(array);return null==iteratee?result:arrayMap(result,function(group){return apply(iteratee,undefined,group)})}function zipObject(props,values){return baseZipObject(props||[],values||[],assignValue)}function zipObjectDeep(props,values){return baseZipObject(props||[],values||[],baseSet)}function chain(value){var result=lodash(value);return result.__chain__=!0,result}function tap(value,interceptor){return interceptor(value),value}function thru(value,interceptor){return interceptor(value)}function wrapperChain(){return chain(this)}function wrapperCommit(){return new LodashWrapper(this.value(),this.__chain__)}function wrapperNext(){this.__values__===undefined&&(this.__values__=toArray(this.value()));var done=this.__index__>=this.__values__.length,value=done?undefined:this.__values__[this.__index__++];return{done:done,value:value}}function wrapperToIterator(){return this}function wrapperPlant(value){for(var result,parent=this;parent instanceof baseLodash;){var clone=wrapperClone(parent);clone.__index__=0,clone.__values__=undefined,result?previous.__wrapped__=clone:result=clone;var previous=clone;parent=parent.__wrapped__}return previous.__wrapped__=value,result}function wrapperReverse(){var value=this.__wrapped__;if(value instanceof LazyWrapper){var wrapped=value;return this.__actions__.length&&(wrapped=new LazyWrapper(this)),wrapped=wrapped.reverse(),wrapped.__actions__.push({func:thru,args:[reverse],thisArg:undefined}),new LodashWrapper(wrapped,this.__chain__)}return this.thru(reverse)}function wrapperValue(){return baseWrapperValue(this.__wrapped__,this.__actions__)}function every(collection,predicate,guard){var func=isArray(collection)?arrayEvery:baseEvery;return guard&&isIterateeCall(collection,predicate,guard)&&(predicate=undefined),func(collection,getIteratee(predicate,3))}function filter(collection,predicate){var func=isArray(collection)?arrayFilter:baseFilter;return func(collection,getIteratee(predicate,3))}function flatMap(collection,iteratee){return baseFlatten(map(collection,iteratee),1)}function flatMapDeep(collection,iteratee){return baseFlatten(map(collection,iteratee),INFINITY)}function flatMapDepth(collection,iteratee,depth){return depth=depth===undefined?1:toInteger(depth),baseFlatten(map(collection,iteratee),depth)}function forEach(collection,iteratee){var func=isArray(collection)?arrayEach:baseEach;return func(collection,getIteratee(iteratee,3))}function forEachRight(collection,iteratee){var func=isArray(collection)?arrayEachRight:baseEachRight;return func(collection,getIteratee(iteratee,3))}function includes(collection,value,fromIndex,guard){collection=isArrayLike(collection)?collection:values(collection),fromIndex=fromIndex&&!guard?toInteger(fromIndex):0;var length=collection.length;return fromIndex<0&&(fromIndex=nativeMax(length+fromIndex,0)),isString(collection)?fromIndex<=length&&collection.indexOf(value,fromIndex)>-1:!!length&&baseIndexOf(collection,value,fromIndex)>-1}function map(collection,iteratee){var func=isArray(collection)?arrayMap:baseMap;return func(collection,getIteratee(iteratee,3))}function orderBy(collection,iteratees,orders,guard){return null==collection?[]:(isArray(iteratees)||(iteratees=null==iteratees?[]:[iteratees]),orders=guard?undefined:orders,isArray(orders)||(orders=null==orders?[]:[orders]),baseOrderBy(collection,iteratees,orders))}function reduce(collection,iteratee,accumulator){var func=isArray(collection)?arrayReduce:baseReduce,initAccum=arguments.length<3;return func(collection,getIteratee(iteratee,4),accumulator,initAccum,baseEach)}function reduceRight(collection,iteratee,accumulator){var func=isArray(collection)?arrayReduceRight:baseReduce,initAccum=arguments.length<3;return func(collection,getIteratee(iteratee,4),accumulator,initAccum,baseEachRight)}function reject(collection,predicate){var func=isArray(collection)?arrayFilter:baseFilter;return func(collection,negate(getIteratee(predicate,3)))}function sample(collection){var func=isArray(collection)?arraySample:baseSample;return func(collection)}function sampleSize(collection,n,guard){n=(guard?isIterateeCall(collection,n,guard):n===undefined)?1:toInteger(n);var func=isArray(collection)?arraySampleSize:baseSampleSize;return func(collection,n)}function shuffle(collection){var func=isArray(collection)?arrayShuffle:baseShuffle;return func(collection)}function size(collection){if(null==collection)return 0;if(isArrayLike(collection))return isString(collection)?stringSize(collection):collection.length;var tag=getTag(collection);return tag==mapTag||tag==setTag?collection.size:baseKeys(collection).length}function some(collection,predicate,guard){var func=isArray(collection)?arraySome:baseSome;return guard&&isIterateeCall(collection,predicate,guard)&&(predicate=undefined),func(collection,getIteratee(predicate,3))}function after(n,func){if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return n=toInteger(n),function(){if(--n<1)return func.apply(this,arguments)}}function ary(func,n,guard){return n=guard?undefined:n,n=func&&null==n?func.length:n,createWrap(func,WRAP_ARY_FLAG,undefined,undefined,undefined,undefined,n)}function before(n,func){var result;if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return n=toInteger(n),function(){return--n>0&&(result=func.apply(this,arguments)),n<=1&&(func=undefined),result}}function curry(func,arity,guard){arity=guard?undefined:arity;var result=createWrap(func,WRAP_CURRY_FLAG,undefined,undefined,undefined,undefined,undefined,arity);return result.placeholder=curry.placeholder,result}function curryRight(func,arity,guard){arity=guard?undefined:arity;var result=createWrap(func,WRAP_CURRY_RIGHT_FLAG,undefined,undefined,undefined,undefined,undefined,arity);return result.placeholder=curryRight.placeholder,result}function debounce(func,wait,options){function invokeFunc(time){var args=lastArgs,thisArg=lastThis;return lastArgs=lastThis=undefined,lastInvokeTime=time,result=func.apply(thisArg,args)}function leadingEdge(time){return lastInvokeTime=time,timerId=setTimeout(timerExpired,wait),leading?invokeFunc(time):result}function remainingWait(time){var timeSinceLastCall=time-lastCallTime,timeSinceLastInvoke=time-lastInvokeTime,result=wait-timeSinceLastCall;return maxing?nativeMin(result,maxWait-timeSinceLastInvoke):result}function shouldInvoke(time){var timeSinceLastCall=time-lastCallTime,timeSinceLastInvoke=time-lastInvokeTime;return lastCallTime===undefined||timeSinceLastCall>=wait||timeSinceLastCall<0||maxing&&timeSinceLastInvoke>=maxWait}function timerExpired(){var time=now();return shouldInvoke(time)?trailingEdge(time):void(timerId=setTimeout(timerExpired,remainingWait(time)))}function trailingEdge(time){return timerId=undefined,trailing&&lastArgs?invokeFunc(time):(lastArgs=lastThis=undefined,result)}function cancel(){timerId!==undefined&&clearTimeout(timerId),lastInvokeTime=0,lastArgs=lastCallTime=lastThis=timerId=undefined}function flush(){return timerId===undefined?result:trailingEdge(now())}function debounced(){var time=now(),isInvoking=shouldInvoke(time);if(lastArgs=arguments,lastThis=this,lastCallTime=time,isInvoking){if(timerId===undefined)return leadingEdge(lastCallTime);if(maxing)return timerId=setTimeout(timerExpired,wait),invokeFunc(lastCallTime)}return timerId===undefined&&(timerId=setTimeout(timerExpired,wait)),result}var lastArgs,lastThis,maxWait,result,timerId,lastCallTime,lastInvokeTime=0,leading=!1,maxing=!1,trailing=!0;if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return wait=toNumber(wait)||0,isObject(options)&&(leading=!!options.leading,maxing="maxWait"in options,maxWait=maxing?nativeMax(toNumber(options.maxWait)||0,wait):maxWait,trailing="trailing"in options?!!options.trailing:trailing),debounced.cancel=cancel,debounced.flush=flush,debounced}function flip(func){return createWrap(func,WRAP_FLIP_FLAG)}function memoize(func,resolver){if("function"!=typeof func||null!=resolver&&"function"!=typeof resolver)throw new TypeError(FUNC_ERROR_TEXT);var memoized=function(){var args=arguments,key=resolver?resolver.apply(this,args):args[0],cache=memoized.cache;if(cache.has(key))return cache.get(key);var result=func.apply(this,args);return memoized.cache=cache.set(key,result)||cache,result};return memoized.cache=new(memoize.Cache||MapCache),memoized}function negate(predicate){if("function"!=typeof predicate)throw new TypeError(FUNC_ERROR_TEXT);return function(){var args=arguments;switch(args.length){case 0:return!predicate.call(this);case 1:return!predicate.call(this,args[0]);case 2:return!predicate.call(this,args[0],args[1]);case 3:return!predicate.call(this,args[0],args[1],args[2])}return!predicate.apply(this,args)}}function once(func){return before(2,func)}function rest(func,start){if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return start=start===undefined?start:toInteger(start),baseRest(func,start)}function spread(func,start){if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return start=null==start?0:nativeMax(toInteger(start),0),baseRest(function(args){var array=args[start],otherArgs=castSlice(args,0,start);return array&&arrayPush(otherArgs,array),apply(func,this,otherArgs)})}function throttle(func,wait,options){var leading=!0,trailing=!0;if("function"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return isObject(options)&&(leading="leading"in options?!!options.leading:leading,trailing="trailing"in options?!!options.trailing:trailing),debounce(func,wait,{leading:leading,maxWait:wait,trailing:trailing})}function unary(func){return ary(func,1)}function wrap(value,wrapper){return partial(castFunction(wrapper),value)}function castArray(){if(!arguments.length)return[];var value=arguments[0];return isArray(value)?value:[value]}function clone(value){return baseClone(value,CLONE_SYMBOLS_FLAG)}function cloneWith(value,customizer){return customizer="function"==typeof customizer?customizer:undefined,baseClone(value,CLONE_SYMBOLS_FLAG,customizer)}function cloneDeep(value){return baseClone(value,CLONE_DEEP_FLAG|CLONE_SYMBOLS_FLAG)}function cloneDeepWith(value,customizer){return customizer="function"==typeof customizer?customizer:undefined,baseClone(value,CLONE_DEEP_FLAG|CLONE_SYMBOLS_FLAG,customizer)}function conformsTo(object,source){return null==source||baseConformsTo(object,source,keys(source))}function eq(value,other){return value===other||value!==value&&other!==other}function isArrayLike(value){return null!=value&&isLength(value.length)&&!isFunction(value)}function isArrayLikeObject(value){return isObjectLike(value)&&isArrayLike(value)}function isBoolean(value){return value===!0||value===!1||isObjectLike(value)&&baseGetTag(value)==boolTag}function isElement(value){return isObjectLike(value)&&1===value.nodeType&&!isPlainObject(value)}function isEmpty(value){if(null==value)return!0;if(isArrayLike(value)&&(isArray(value)||"string"==typeof value||"function"==typeof value.splice||isBuffer(value)||isTypedArray(value)||isArguments(value)))return!value.length;var tag=getTag(value);if(tag==mapTag||tag==setTag)return!value.size;if(isPrototype(value))return!baseKeys(value).length;for(var key in value)if(hasOwnProperty.call(value,key))return!1;return!0}function isEqual(value,other){return baseIsEqual(value,other)}function isEqualWith(value,other,customizer){customizer="function"==typeof customizer?customizer:undefined;var result=customizer?customizer(value,other):undefined;return result===undefined?baseIsEqual(value,other,undefined,customizer):!!result}function isError(value){if(!isObjectLike(value))return!1;var tag=baseGetTag(value);return tag==errorTag||tag==domExcTag||"string"==typeof value.message&&"string"==typeof value.name&&!isPlainObject(value)}function isFinite(value){return"number"==typeof value&&nativeIsFinite(value)}function isFunction(value){if(!isObject(value))return!1;var tag=baseGetTag(value);return tag==funcTag||tag==genTag||tag==asyncTag||tag==proxyTag}function isInteger(value){return"number"==typeof value&&value==toInteger(value)}function isLength(value){return"number"==typeof value&&value>-1&&value%1==0&&value<=MAX_SAFE_INTEGER}function isObject(value){var type=typeof value;return null!=value&&("object"==type||"function"==type)}function isObjectLike(value){return null!=value&&"object"==typeof value}function isMatch(object,source){return object===source||baseIsMatch(object,source,getMatchData(source))}function isMatchWith(object,source,customizer){return customizer="function"==typeof customizer?customizer:undefined,baseIsMatch(object,source,getMatchData(source),customizer)}function isNaN(value){return isNumber(value)&&value!=+value}function isNative(value){if(isMaskable(value))throw new Error(CORE_ERROR_TEXT);return baseIsNative(value)}function isNull(value){return null===value}function isNil(value){return null==value}function isNumber(value){return"number"==typeof value||isObjectLike(value)&&baseGetTag(value)==numberTag}function isPlainObject(value){if(!isObjectLike(value)||baseGetTag(value)!=objectTag)return!1;var proto=getPrototype(value);if(null===proto)return!0;var Ctor=hasOwnProperty.call(proto,"constructor")&&proto.constructor;return"function"==typeof Ctor&&Ctor instanceof Ctor&&funcToString.call(Ctor)==objectCtorString}function isSafeInteger(value){return isInteger(value)&&value>=-MAX_SAFE_INTEGER&&value<=MAX_SAFE_INTEGER}function isString(value){return"string"==typeof value||!isArray(value)&&isObjectLike(value)&&baseGetTag(value)==stringTag}function isSymbol(value){return"symbol"==typeof value||isObjectLike(value)&&baseGetTag(value)==symbolTag}function isUndefined(value){return value===undefined}function isWeakMap(value){return isObjectLike(value)&&getTag(value)==weakMapTag}function isWeakSet(value){return isObjectLike(value)&&baseGetTag(value)==weakSetTag}function toArray(value){if(!value)return[];if(isArrayLike(value))return isString(value)?stringToArray(value):copyArray(value);if(symIterator&&value[symIterator])return iteratorToArray(value[symIterator]());var tag=getTag(value),func=tag==mapTag?mapToArray:tag==setTag?setToArray:values;return func(value)}function toFinite(value){if(!value)return 0===value?value:0;if(value=toNumber(value),value===INFINITY||value===-INFINITY){var sign=value<0?-1:1;return sign*MAX_INTEGER}return value===value?value:0}function toInteger(value){var result=toFinite(value),remainder=result%1;return result===result?remainder?result-remainder:result:0}function toLength(value){return value?baseClamp(toInteger(value),0,MAX_ARRAY_LENGTH):0}function toNumber(value){if("number"==typeof value)return value;if(isSymbol(value))return NAN;if(isObject(value)){var other="function"==typeof value.valueOf?value.valueOf():value;value=isObject(other)?other+"":other}if("string"!=typeof value)return 0===value?value:+value;value=value.replace(reTrim,"");var isBinary=reIsBinary.test(value);return isBinary||reIsOctal.test(value)?freeParseInt(value.slice(2),isBinary?2:8):reIsBadHex.test(value)?NAN:+value}function toPlainObject(value){return copyObject(value,keysIn(value))}function toSafeInteger(value){return value?baseClamp(toInteger(value),-MAX_SAFE_INTEGER,MAX_SAFE_INTEGER):0===value?value:0}function toString(value){return null==value?"":baseToString(value)}function create(prototype,properties){var result=baseCreate(prototype);return null==properties?result:baseAssign(result,properties)}function findKey(object,predicate){return baseFindKey(object,getIteratee(predicate,3),baseForOwn)}function findLastKey(object,predicate){return baseFindKey(object,getIteratee(predicate,3),baseForOwnRight)}function forIn(object,iteratee){return null==object?object:baseFor(object,getIteratee(iteratee,3),keysIn);
+}function forInRight(object,iteratee){return null==object?object:baseForRight(object,getIteratee(iteratee,3),keysIn)}function forOwn(object,iteratee){return object&&baseForOwn(object,getIteratee(iteratee,3))}function forOwnRight(object,iteratee){return object&&baseForOwnRight(object,getIteratee(iteratee,3))}function functions(object){return null==object?[]:baseFunctions(object,keys(object))}function functionsIn(object){return null==object?[]:baseFunctions(object,keysIn(object))}function get(object,path,defaultValue){var result=null==object?undefined:baseGet(object,path);return result===undefined?defaultValue:result}function has(object,path){return null!=object&&hasPath(object,path,baseHas)}function hasIn(object,path){return null!=object&&hasPath(object,path,baseHasIn)}function keys(object){return isArrayLike(object)?arrayLikeKeys(object):baseKeys(object)}function keysIn(object){return isArrayLike(object)?arrayLikeKeys(object,!0):baseKeysIn(object)}function mapKeys(object,iteratee){var result={};return iteratee=getIteratee(iteratee,3),baseForOwn(object,function(value,key,object){baseAssignValue(result,iteratee(value,key,object),value)}),result}function mapValues(object,iteratee){var result={};return iteratee=getIteratee(iteratee,3),baseForOwn(object,function(value,key,object){baseAssignValue(result,key,iteratee(value,key,object))}),result}function omitBy(object,predicate){return pickBy(object,negate(getIteratee(predicate)))}function pickBy(object,predicate){if(null==object)return{};var props=arrayMap(getAllKeysIn(object),function(prop){return[prop]});return predicate=getIteratee(predicate),basePickBy(object,props,function(value,path){return predicate(value,path[0])})}function result(object,path,defaultValue){path=castPath(path,object);var index=-1,length=path.length;for(length||(length=1,object=undefined);++index<length;){var value=null==object?undefined:object[toKey(path[index])];value===undefined&&(index=length,value=defaultValue),object=isFunction(value)?value.call(object):value}return object}function set(object,path,value){return null==object?object:baseSet(object,path,value)}function setWith(object,path,value,customizer){return customizer="function"==typeof customizer?customizer:undefined,null==object?object:baseSet(object,path,value,customizer)}function transform(object,iteratee,accumulator){var isArr=isArray(object),isArrLike=isArr||isBuffer(object)||isTypedArray(object);if(iteratee=getIteratee(iteratee,4),null==accumulator){var Ctor=object&&object.constructor;accumulator=isArrLike?isArr?new Ctor:[]:isObject(object)&&isFunction(Ctor)?baseCreate(getPrototype(object)):{}}return(isArrLike?arrayEach:baseForOwn)(object,function(value,index,object){return iteratee(accumulator,value,index,object)}),accumulator}function unset(object,path){return null==object||baseUnset(object,path)}function update(object,path,updater){return null==object?object:baseUpdate(object,path,castFunction(updater))}function updateWith(object,path,updater,customizer){return customizer="function"==typeof customizer?customizer:undefined,null==object?object:baseUpdate(object,path,castFunction(updater),customizer)}function values(object){return null==object?[]:baseValues(object,keys(object))}function valuesIn(object){return null==object?[]:baseValues(object,keysIn(object))}function clamp(number,lower,upper){return upper===undefined&&(upper=lower,lower=undefined),upper!==undefined&&(upper=toNumber(upper),upper=upper===upper?upper:0),lower!==undefined&&(lower=toNumber(lower),lower=lower===lower?lower:0),baseClamp(toNumber(number),lower,upper)}function inRange(number,start,end){return start=toFinite(start),end===undefined?(end=start,start=0):end=toFinite(end),number=toNumber(number),baseInRange(number,start,end)}function random(lower,upper,floating){if(floating&&"boolean"!=typeof floating&&isIterateeCall(lower,upper,floating)&&(upper=floating=undefined),floating===undefined&&("boolean"==typeof upper?(floating=upper,upper=undefined):"boolean"==typeof lower&&(floating=lower,lower=undefined)),lower===undefined&&upper===undefined?(lower=0,upper=1):(lower=toFinite(lower),upper===undefined?(upper=lower,lower=0):upper=toFinite(upper)),lower>upper){var temp=lower;lower=upper,upper=temp}if(floating||lower%1||upper%1){var rand=nativeRandom();return nativeMin(lower+rand*(upper-lower+freeParseFloat("1e-"+((rand+"").length-1))),upper)}return baseRandom(lower,upper)}function capitalize(string){return upperFirst(toString(string).toLowerCase())}function deburr(string){return string=toString(string),string&&string.replace(reLatin,deburrLetter).replace(reComboMark,"")}function endsWith(string,target,position){string=toString(string),target=baseToString(target);var length=string.length;position=position===undefined?length:baseClamp(toInteger(position),0,length);var end=position;return position-=target.length,position>=0&&string.slice(position,end)==target}function escape(string){return string=toString(string),string&&reHasUnescapedHtml.test(string)?string.replace(reUnescapedHtml,escapeHtmlChar):string}function escapeRegExp(string){return string=toString(string),string&&reHasRegExpChar.test(string)?string.replace(reRegExpChar,"\\$&"):string}function pad(string,length,chars){string=toString(string),length=toInteger(length);var strLength=length?stringSize(string):0;if(!length||strLength>=length)return string;var mid=(length-strLength)/2;return createPadding(nativeFloor(mid),chars)+string+createPadding(nativeCeil(mid),chars)}function padEnd(string,length,chars){string=toString(string),length=toInteger(length);var strLength=length?stringSize(string):0;return length&&strLength<length?string+createPadding(length-strLength,chars):string}function padStart(string,length,chars){string=toString(string),length=toInteger(length);var strLength=length?stringSize(string):0;return length&&strLength<length?createPadding(length-strLength,chars)+string:string}function parseInt(string,radix,guard){return guard||null==radix?radix=0:radix&&(radix=+radix),nativeParseInt(toString(string).replace(reTrimStart,""),radix||0)}function repeat(string,n,guard){return n=(guard?isIterateeCall(string,n,guard):n===undefined)?1:toInteger(n),baseRepeat(toString(string),n)}function replace(){var args=arguments,string=toString(args[0]);return args.length<3?string:string.replace(args[1],args[2])}function split(string,separator,limit){return limit&&"number"!=typeof limit&&isIterateeCall(string,separator,limit)&&(separator=limit=undefined),(limit=limit===undefined?MAX_ARRAY_LENGTH:limit>>>0)?(string=toString(string),string&&("string"==typeof separator||null!=separator&&!isRegExp(separator))&&(separator=baseToString(separator),!separator&&hasUnicode(string))?castSlice(stringToArray(string),0,limit):string.split(separator,limit)):[]}function startsWith(string,target,position){return string=toString(string),position=null==position?0:baseClamp(toInteger(position),0,string.length),target=baseToString(target),string.slice(position,position+target.length)==target}function template(string,options,guard){var settings=lodash.templateSettings;guard&&isIterateeCall(string,options,guard)&&(options=undefined),string=toString(string),options=assignInWith({},options,settings,customDefaultsAssignIn);var isEscaping,isEvaluating,imports=assignInWith({},options.imports,settings.imports,customDefaultsAssignIn),importsKeys=keys(imports),importsValues=baseValues(imports,importsKeys),index=0,interpolate=options.interpolate||reNoMatch,source="__p += '",reDelimiters=RegExp((options.escape||reNoMatch).source+"|"+interpolate.source+"|"+(interpolate===reInterpolate?reEsTemplate:reNoMatch).source+"|"+(options.evaluate||reNoMatch).source+"|$","g"),sourceURL="//# sourceURL="+("sourceURL"in options?options.sourceURL:"lodash.templateSources["+ ++templateCounter+"]")+"\n";string.replace(reDelimiters,function(match,escapeValue,interpolateValue,esTemplateValue,evaluateValue,offset){return interpolateValue||(interpolateValue=esTemplateValue),source+=string.slice(index,offset).replace(reUnescapedString,escapeStringChar),escapeValue&&(isEscaping=!0,source+="' +\n__e("+escapeValue+") +\n'"),evaluateValue&&(isEvaluating=!0,source+="';\n"+evaluateValue+";\n__p += '"),interpolateValue&&(source+="' +\n((__t = ("+interpolateValue+")) == null ? '' : __t) +\n'"),index=offset+match.length,match}),source+="';\n";var variable=options.variable;variable||(source="with (obj) {\n"+source+"\n}\n"),source=(isEvaluating?source.replace(reEmptyStringLeading,""):source).replace(reEmptyStringMiddle,"$1").replace(reEmptyStringTrailing,"$1;"),source="function("+(variable||"obj")+") {\n"+(variable?"":"obj || (obj = {});\n")+"var __t, __p = ''"+(isEscaping?", __e = _.escape":"")+(isEvaluating?", __j = Array.prototype.join;\nfunction print() { __p += __j.call(arguments, '') }\n":";\n")+source+"return __p\n}";var result=attempt(function(){return Function(importsKeys,sourceURL+"return "+source).apply(undefined,importsValues)});if(result.source=source,isError(result))throw result;return result}function toLower(value){return toString(value).toLowerCase()}function toUpper(value){return toString(value).toUpperCase()}function trim(string,chars,guard){if(string=toString(string),string&&(guard||chars===undefined))return string.replace(reTrim,"");if(!string||!(chars=baseToString(chars)))return string;var strSymbols=stringToArray(string),chrSymbols=stringToArray(chars),start=charsStartIndex(strSymbols,chrSymbols),end=charsEndIndex(strSymbols,chrSymbols)+1;return castSlice(strSymbols,start,end).join("")}function trimEnd(string,chars,guard){if(string=toString(string),string&&(guard||chars===undefined))return string.replace(reTrimEnd,"");if(!string||!(chars=baseToString(chars)))return string;var strSymbols=stringToArray(string),end=charsEndIndex(strSymbols,stringToArray(chars))+1;return castSlice(strSymbols,0,end).join("")}function trimStart(string,chars,guard){if(string=toString(string),string&&(guard||chars===undefined))return string.replace(reTrimStart,"");if(!string||!(chars=baseToString(chars)))return string;var strSymbols=stringToArray(string),start=charsStartIndex(strSymbols,stringToArray(chars));return castSlice(strSymbols,start).join("")}function truncate(string,options){var length=DEFAULT_TRUNC_LENGTH,omission=DEFAULT_TRUNC_OMISSION;if(isObject(options)){var separator="separator"in options?options.separator:separator;length="length"in options?toInteger(options.length):length,omission="omission"in options?baseToString(options.omission):omission}string=toString(string);var strLength=string.length;if(hasUnicode(string)){var strSymbols=stringToArray(string);strLength=strSymbols.length}if(length>=strLength)return string;var end=length-stringSize(omission);if(end<1)return omission;var result=strSymbols?castSlice(strSymbols,0,end).join(""):string.slice(0,end);if(separator===undefined)return result+omission;if(strSymbols&&(end+=result.length-end),isRegExp(separator)){if(string.slice(end).search(separator)){var match,substring=result;for(separator.global||(separator=RegExp(separator.source,toString(reFlags.exec(separator))+"g")),separator.lastIndex=0;match=separator.exec(substring);)var newEnd=match.index;result=result.slice(0,newEnd===undefined?end:newEnd)}}else if(string.indexOf(baseToString(separator),end)!=end){var index=result.lastIndexOf(separator);index>-1&&(result=result.slice(0,index))}return result+omission}function unescape(string){return string=toString(string),string&&reHasEscapedHtml.test(string)?string.replace(reEscapedHtml,unescapeHtmlChar):string}function words(string,pattern,guard){return string=toString(string),pattern=guard?undefined:pattern,pattern===undefined?hasUnicodeWord(string)?unicodeWords(string):asciiWords(string):string.match(pattern)||[]}function cond(pairs){var length=null==pairs?0:pairs.length,toIteratee=getIteratee();return pairs=length?arrayMap(pairs,function(pair){if("function"!=typeof pair[1])throw new TypeError(FUNC_ERROR_TEXT);return[toIteratee(pair[0]),pair[1]]}):[],baseRest(function(args){for(var index=-1;++index<length;){var pair=pairs[index];if(apply(pair[0],this,args))return apply(pair[1],this,args)}})}function conforms(source){return baseConforms(baseClone(source,CLONE_DEEP_FLAG))}function constant(value){return function(){return value}}function defaultTo(value,defaultValue){return null==value||value!==value?defaultValue:value}function identity(value){return value}function iteratee(func){return baseIteratee("function"==typeof func?func:baseClone(func,CLONE_DEEP_FLAG))}function matches(source){return baseMatches(baseClone(source,CLONE_DEEP_FLAG))}function matchesProperty(path,srcValue){return baseMatchesProperty(path,baseClone(srcValue,CLONE_DEEP_FLAG))}function mixin(object,source,options){var props=keys(source),methodNames=baseFunctions(source,props);null!=options||isObject(source)&&(methodNames.length||!props.length)||(options=source,source=object,object=this,methodNames=baseFunctions(source,keys(source)));var chain=!(isObject(options)&&"chain"in options&&!options.chain),isFunc=isFunction(object);return arrayEach(methodNames,function(methodName){var func=source[methodName];object[methodName]=func,isFunc&&(object.prototype[methodName]=function(){var chainAll=this.__chain__;if(chain||chainAll){var result=object(this.__wrapped__),actions=result.__actions__=copyArray(this.__actions__);return actions.push({func:func,args:arguments,thisArg:object}),result.__chain__=chainAll,result}return func.apply(object,arrayPush([this.value()],arguments))})}),object}function noConflict(){return root._===this&&(root._=oldDash),this}function noop(){}function nthArg(n){return n=toInteger(n),baseRest(function(args){return baseNth(args,n)})}function property(path){return isKey(path)?baseProperty(toKey(path)):basePropertyDeep(path)}function propertyOf(object){return function(path){return null==object?undefined:baseGet(object,path)}}function stubArray(){return[]}function stubFalse(){return!1}function stubObject(){return{}}function stubString(){return""}function stubTrue(){return!0}function times(n,iteratee){if(n=toInteger(n),n<1||n>MAX_SAFE_INTEGER)return[];var index=MAX_ARRAY_LENGTH,length=nativeMin(n,MAX_ARRAY_LENGTH);iteratee=getIteratee(iteratee),n-=MAX_ARRAY_LENGTH;for(var result=baseTimes(length,iteratee);++index<n;)iteratee(index);return result}function toPath(value){return isArray(value)?arrayMap(value,toKey):isSymbol(value)?[value]:copyArray(stringToPath(toString(value)))}function uniqueId(prefix){var id=++idCounter;return toString(prefix)+id}function max(array){return array&&array.length?baseExtremum(array,identity,baseGt):undefined}function maxBy(array,iteratee){return array&&array.length?baseExtremum(array,getIteratee(iteratee,2),baseGt):undefined}function mean(array){return baseMean(array,identity)}function meanBy(array,iteratee){return baseMean(array,getIteratee(iteratee,2))}function min(array){return array&&array.length?baseExtremum(array,identity,baseLt):undefined}function minBy(array,iteratee){return array&&array.length?baseExtremum(array,getIteratee(iteratee,2),baseLt):undefined}function sum(array){return array&&array.length?baseSum(array,identity):0}function sumBy(array,iteratee){return array&&array.length?baseSum(array,getIteratee(iteratee,2)):0}context=null==context?root:_.defaults(root.Object(),context,_.pick(root,contextProps));var Array=context.Array,Date=context.Date,Error=context.Error,Function=context.Function,Math=context.Math,Object=context.Object,RegExp=context.RegExp,String=context.String,TypeError=context.TypeError,arrayProto=Array.prototype,funcProto=Function.prototype,objectProto=Object.prototype,coreJsData=context["__core-js_shared__"],funcToString=funcProto.toString,hasOwnProperty=objectProto.hasOwnProperty,idCounter=0,maskSrcKey=function(){var uid=/[^.]+$/.exec(coreJsData&&coreJsData.keys&&coreJsData.keys.IE_PROTO||"");return uid?"Symbol(src)_1."+uid:""}(),nativeObjectToString=objectProto.toString,objectCtorString=funcToString.call(Object),oldDash=root._,reIsNative=RegExp("^"+funcToString.call(hasOwnProperty).replace(reRegExpChar,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Buffer=moduleExports?context.Buffer:undefined,Symbol=context.Symbol,Uint8Array=context.Uint8Array,allocUnsafe=Buffer?Buffer.allocUnsafe:undefined,getPrototype=overArg(Object.getPrototypeOf,Object),objectCreate=Object.create,propertyIsEnumerable=objectProto.propertyIsEnumerable,splice=arrayProto.splice,spreadableSymbol=Symbol?Symbol.isConcatSpreadable:undefined,symIterator=Symbol?Symbol.iterator:undefined,symToStringTag=Symbol?Symbol.toStringTag:undefined,defineProperty=function(){try{var func=getNative(Object,"defineProperty");return func({},"",{}),func}catch(e){}}(),ctxClearTimeout=context.clearTimeout!==root.clearTimeout&&context.clearTimeout,ctxNow=Date&&Date.now!==root.Date.now&&Date.now,ctxSetTimeout=context.setTimeout!==root.setTimeout&&context.setTimeout,nativeCeil=Math.ceil,nativeFloor=Math.floor,nativeGetSymbols=Object.getOwnPropertySymbols,nativeIsBuffer=Buffer?Buffer.isBuffer:undefined,nativeIsFinite=context.isFinite,nativeJoin=arrayProto.join,nativeKeys=overArg(Object.keys,Object),nativeMax=Math.max,nativeMin=Math.min,nativeNow=Date.now,nativeParseInt=context.parseInt,nativeRandom=Math.random,nativeReverse=arrayProto.reverse,DataView=getNative(context,"DataView"),Map=getNative(context,"Map"),Promise=getNative(context,"Promise"),Set=getNative(context,"Set"),WeakMap=getNative(context,"WeakMap"),nativeCreate=getNative(Object,"create"),metaMap=WeakMap&&new WeakMap,realNames={},dataViewCtorString=toSource(DataView),mapCtorString=toSource(Map),promiseCtorString=toSource(Promise),setCtorString=toSource(Set),weakMapCtorString=toSource(WeakMap),symbolProto=Symbol?Symbol.prototype:undefined,symbolValueOf=symbolProto?symbolProto.valueOf:undefined,symbolToString=symbolProto?symbolProto.toString:undefined,baseCreate=function(){function object(){}return function(proto){if(!isObject(proto))return{};if(objectCreate)return objectCreate(proto);object.prototype=proto;var result=new object;return object.prototype=undefined,result}}();lodash.templateSettings={escape:reEscape,evaluate:reEvaluate,interpolate:reInterpolate,variable:"",imports:{_:lodash}},lodash.prototype=baseLodash.prototype,lodash.prototype.constructor=lodash,LodashWrapper.prototype=baseCreate(baseLodash.prototype),LodashWrapper.prototype.constructor=LodashWrapper,LazyWrapper.prototype=baseCreate(baseLodash.prototype),LazyWrapper.prototype.constructor=LazyWrapper,Hash.prototype.clear=hashClear,Hash.prototype["delete"]=hashDelete,Hash.prototype.get=hashGet,Hash.prototype.has=hashHas,Hash.prototype.set=hashSet,ListCache.prototype.clear=listCacheClear,ListCache.prototype["delete"]=listCacheDelete,ListCache.prototype.get=listCacheGet,ListCache.prototype.has=listCacheHas,ListCache.prototype.set=listCacheSet,MapCache.prototype.clear=mapCacheClear,MapCache.prototype["delete"]=mapCacheDelete,MapCache.prototype.get=mapCacheGet,MapCache.prototype.has=mapCacheHas,MapCache.prototype.set=mapCacheSet,SetCache.prototype.add=SetCache.prototype.push=setCacheAdd,SetCache.prototype.has=setCacheHas,Stack.prototype.clear=stackClear,Stack.prototype["delete"]=stackDelete,Stack.prototype.get=stackGet,Stack.prototype.has=stackHas,Stack.prototype.set=stackSet;var baseEach=createBaseEach(baseForOwn),baseEachRight=createBaseEach(baseForOwnRight,!0),baseFor=createBaseFor(),baseForRight=createBaseFor(!0),baseSetData=metaMap?function(func,data){return metaMap.set(func,data),func}:identity,baseSetToString=defineProperty?function(func,string){return defineProperty(func,"toString",{configurable:!0,enumerable:!1,value:constant(string),writable:!0})}:identity,castRest=baseRest,clearTimeout=ctxClearTimeout||function(id){return root.clearTimeout(id)},createSet=Set&&1/setToArray(new Set([,-0]))[1]==INFINITY?function(values){return new Set(values)}:noop,getData=metaMap?function(func){return metaMap.get(func)}:noop,getSymbols=nativeGetSymbols?function(object){return null==object?[]:(object=Object(object),arrayFilter(nativeGetSymbols(object),function(symbol){return propertyIsEnumerable.call(object,symbol)}))}:stubArray,getSymbolsIn=nativeGetSymbols?function(object){for(var result=[];object;)arrayPush(result,getSymbols(object)),object=getPrototype(object);return result}:stubArray,getTag=baseGetTag;(DataView&&getTag(new DataView(new ArrayBuffer(1)))!=dataViewTag||Map&&getTag(new Map)!=mapTag||Promise&&getTag(Promise.resolve())!=promiseTag||Set&&getTag(new Set)!=setTag||WeakMap&&getTag(new WeakMap)!=weakMapTag)&&(getTag=function(value){var result=baseGetTag(value),Ctor=result==objectTag?value.constructor:undefined,ctorString=Ctor?toSource(Ctor):"";if(ctorString)switch(ctorString){case dataViewCtorString:return dataViewTag;case mapCtorString:return mapTag;case promiseCtorString:return promiseTag;case setCtorString:return setTag;case weakMapCtorString:return weakMapTag}return result});var isMaskable=coreJsData?isFunction:stubFalse,setData=shortOut(baseSetData),setTimeout=ctxSetTimeout||function(func,wait){return root.setTimeout(func,wait)},setToString=shortOut(baseSetToString),stringToPath=memoizeCapped(function(string){var result=[];return reLeadingDot.test(string)&&result.push(""),string.replace(rePropName,function(match,number,quote,string){result.push(quote?string.replace(reEscapeChar,"$1"):number||match)}),result}),difference=baseRest(function(array,values){return isArrayLikeObject(array)?baseDifference(array,baseFlatten(values,1,isArrayLikeObject,!0)):[]}),differenceBy=baseRest(function(array,values){var iteratee=last(values);return isArrayLikeObject(iteratee)&&(iteratee=undefined),isArrayLikeObject(array)?baseDifference(array,baseFlatten(values,1,isArrayLikeObject,!0),getIteratee(iteratee,2)):[]}),differenceWith=baseRest(function(array,values){var comparator=last(values);return isArrayLikeObject(comparator)&&(comparator=undefined),isArrayLikeObject(array)?baseDifference(array,baseFlatten(values,1,isArrayLikeObject,!0),undefined,comparator):[]}),intersection=baseRest(function(arrays){var mapped=arrayMap(arrays,castArrayLikeObject);return mapped.length&&mapped[0]===arrays[0]?baseIntersection(mapped):[]}),intersectionBy=baseRest(function(arrays){var iteratee=last(arrays),mapped=arrayMap(arrays,castArrayLikeObject);return iteratee===last(mapped)?iteratee=undefined:mapped.pop(),mapped.length&&mapped[0]===arrays[0]?baseIntersection(mapped,getIteratee(iteratee,2)):[]}),intersectionWith=baseRest(function(arrays){var comparator=last(arrays),mapped=arrayMap(arrays,castArrayLikeObject);return comparator="function"==typeof comparator?comparator:undefined,comparator&&mapped.pop(),mapped.length&&mapped[0]===arrays[0]?baseIntersection(mapped,undefined,comparator):[]}),pull=baseRest(pullAll),pullAt=flatRest(function(array,indexes){var length=null==array?0:array.length,result=baseAt(array,indexes);return basePullAt(array,arrayMap(indexes,function(index){return isIndex(index,length)?+index:index}).sort(compareAscending)),result}),union=baseRest(function(arrays){return baseUniq(baseFlatten(arrays,1,isArrayLikeObject,!0))}),unionBy=baseRest(function(arrays){var iteratee=last(arrays);return isArrayLikeObject(iteratee)&&(iteratee=undefined),baseUniq(baseFlatten(arrays,1,isArrayLikeObject,!0),getIteratee(iteratee,2))}),unionWith=baseRest(function(arrays){var comparator=last(arrays);return comparator="function"==typeof comparator?comparator:undefined,baseUniq(baseFlatten(arrays,1,isArrayLikeObject,!0),undefined,comparator)}),without=baseRest(function(array,values){return isArrayLikeObject(array)?baseDifference(array,values):[]}),xor=baseRest(function(arrays){return baseXor(arrayFilter(arrays,isArrayLikeObject))}),xorBy=baseRest(function(arrays){var iteratee=last(arrays);return isArrayLikeObject(iteratee)&&(iteratee=undefined),baseXor(arrayFilter(arrays,isArrayLikeObject),getIteratee(iteratee,2))}),xorWith=baseRest(function(arrays){var comparator=last(arrays);return comparator="function"==typeof comparator?comparator:undefined,baseXor(arrayFilter(arrays,isArrayLikeObject),undefined,comparator)}),zip=baseRest(unzip),zipWith=baseRest(function(arrays){var length=arrays.length,iteratee=length>1?arrays[length-1]:undefined;return iteratee="function"==typeof iteratee?(arrays.pop(),iteratee):undefined,unzipWith(arrays,iteratee)}),wrapperAt=flatRest(function(paths){var length=paths.length,start=length?paths[0]:0,value=this.__wrapped__,interceptor=function(object){return baseAt(object,paths)};return!(length>1||this.__actions__.length)&&value instanceof LazyWrapper&&isIndex(start)?(value=value.slice(start,+start+(length?1:0)),value.__actions__.push({func:thru,args:[interceptor],thisArg:undefined}),new LodashWrapper(value,this.__chain__).thru(function(array){return length&&!array.length&&array.push(undefined),array})):this.thru(interceptor)}),countBy=createAggregator(function(result,value,key){hasOwnProperty.call(result,key)?++result[key]:baseAssignValue(result,key,1)}),find=createFind(findIndex),findLast=createFind(findLastIndex),groupBy=createAggregator(function(result,value,key){hasOwnProperty.call(result,key)?result[key].push(value):baseAssignValue(result,key,[value])}),invokeMap=baseRest(function(collection,path,args){var index=-1,isFunc="function"==typeof path,result=isArrayLike(collection)?Array(collection.length):[];return baseEach(collection,function(value){result[++index]=isFunc?apply(path,value,args):baseInvoke(value,path,args)}),result}),keyBy=createAggregator(function(result,value,key){baseAssignValue(result,key,value)}),partition=createAggregator(function(result,value,key){result[key?0:1].push(value)},function(){return[[],[]]}),sortBy=baseRest(function(collection,iteratees){if(null==collection)return[];var length=iteratees.length;return length>1&&isIterateeCall(collection,iteratees[0],iteratees[1])?iteratees=[]:length>2&&isIterateeCall(iteratees[0],iteratees[1],iteratees[2])&&(iteratees=[iteratees[0]]),baseOrderBy(collection,baseFlatten(iteratees,1),[])}),now=ctxNow||function(){return root.Date.now()},bind=baseRest(function(func,thisArg,partials){var bitmask=WRAP_BIND_FLAG;if(partials.length){var holders=replaceHolders(partials,getHolder(bind));bitmask|=WRAP_PARTIAL_FLAG}return createWrap(func,bitmask,thisArg,partials,holders)}),bindKey=baseRest(function(object,key,partials){var bitmask=WRAP_BIND_FLAG|WRAP_BIND_KEY_FLAG;if(partials.length){var holders=replaceHolders(partials,getHolder(bindKey));bitmask|=WRAP_PARTIAL_FLAG}return createWrap(key,bitmask,object,partials,holders)}),defer=baseRest(function(func,args){return baseDelay(func,1,args)}),delay=baseRest(function(func,wait,args){return baseDelay(func,toNumber(wait)||0,args)});memoize.Cache=MapCache;var overArgs=castRest(function(func,transforms){transforms=1==transforms.length&&isArray(transforms[0])?arrayMap(transforms[0],baseUnary(getIteratee())):arrayMap(baseFlatten(transforms,1),baseUnary(getIteratee()));var funcsLength=transforms.length;return baseRest(function(args){for(var index=-1,length=nativeMin(args.length,funcsLength);++index<length;)args[index]=transforms[index].call(this,args[index]);return apply(func,this,args)})}),partial=baseRest(function(func,partials){var holders=replaceHolders(partials,getHolder(partial));return createWrap(func,WRAP_PARTIAL_FLAG,undefined,partials,holders)}),partialRight=baseRest(function(func,partials){var holders=replaceHolders(partials,getHolder(partialRight));return createWrap(func,WRAP_PARTIAL_RIGHT_FLAG,undefined,partials,holders)}),rearg=flatRest(function(func,indexes){return createWrap(func,WRAP_REARG_FLAG,undefined,undefined,undefined,indexes)}),gt=createRelationalOperation(baseGt),gte=createRelationalOperation(function(value,other){return value>=other}),isArguments=baseIsArguments(function(){return arguments}())?baseIsArguments:function(value){return isObjectLike(value)&&hasOwnProperty.call(value,"callee")&&!propertyIsEnumerable.call(value,"callee")},isArray=Array.isArray,isArrayBuffer=nodeIsArrayBuffer?baseUnary(nodeIsArrayBuffer):baseIsArrayBuffer,isBuffer=nativeIsBuffer||stubFalse,isDate=nodeIsDate?baseUnary(nodeIsDate):baseIsDate,isMap=nodeIsMap?baseUnary(nodeIsMap):baseIsMap,isRegExp=nodeIsRegExp?baseUnary(nodeIsRegExp):baseIsRegExp,isSet=nodeIsSet?baseUnary(nodeIsSet):baseIsSet,isTypedArray=nodeIsTypedArray?baseUnary(nodeIsTypedArray):baseIsTypedArray,lt=createRelationalOperation(baseLt),lte=createRelationalOperation(function(value,other){return value<=other}),assign=createAssigner(function(object,source){if(isPrototype(source)||isArrayLike(source))return void copyObject(source,keys(source),object);for(var key in source)hasOwnProperty.call(source,key)&&assignValue(object,key,source[key])}),assignIn=createAssigner(function(object,source){copyObject(source,keysIn(source),object)}),assignInWith=createAssigner(function(object,source,srcIndex,customizer){copyObject(source,keysIn(source),object,customizer)}),assignWith=createAssigner(function(object,source,srcIndex,customizer){copyObject(source,keys(source),object,customizer)}),at=flatRest(baseAt),defaults=baseRest(function(args){return args.push(undefined,customDefaultsAssignIn),apply(assignInWith,undefined,args)}),defaultsDeep=baseRest(function(args){return args.push(undefined,customDefaultsMerge),apply(mergeWith,undefined,args)}),invert=createInverter(function(result,value,key){result[value]=key},constant(identity)),invertBy=createInverter(function(result,value,key){hasOwnProperty.call(result,value)?result[value].push(key):result[value]=[key]},getIteratee),invoke=baseRest(baseInvoke),merge=createAssigner(function(object,source,srcIndex){baseMerge(object,source,srcIndex)}),mergeWith=createAssigner(function(object,source,srcIndex,customizer){baseMerge(object,source,srcIndex,customizer)}),omit=flatRest(function(object,paths){var result={};if(null==object)return result;var isDeep=!1;paths=arrayMap(paths,function(path){return path=castPath(path,object),isDeep||(isDeep=path.length>1),path}),copyObject(object,getAllKeysIn(object),result),isDeep&&(result=baseClone(result,CLONE_DEEP_FLAG|CLONE_FLAT_FLAG|CLONE_SYMBOLS_FLAG,customOmitClone));for(var length=paths.length;length--;)baseUnset(result,paths[length]);return result}),pick=flatRest(function(object,paths){return null==object?{}:basePick(object,paths)}),toPairs=createToPairs(keys),toPairsIn=createToPairs(keysIn),camelCase=createCompounder(function(result,word,index){return word=word.toLowerCase(),result+(index?capitalize(word):word)}),kebabCase=createCompounder(function(result,word,index){return result+(index?"-":"")+word.toLowerCase()}),lowerCase=createCompounder(function(result,word,index){return result+(index?" ":"")+word.toLowerCase()}),lowerFirst=createCaseFirst("toLowerCase"),snakeCase=createCompounder(function(result,word,index){return result+(index?"_":"")+word.toLowerCase()}),startCase=createCompounder(function(result,word,index){return result+(index?" ":"")+upperFirst(word)}),upperCase=createCompounder(function(result,word,index){return result+(index?" ":"")+word.toUpperCase()}),upperFirst=createCaseFirst("toUpperCase"),attempt=baseRest(function(func,args){try{return apply(func,undefined,args)}catch(e){return isError(e)?e:new Error(e)}}),bindAll=flatRest(function(object,methodNames){return arrayEach(methodNames,function(key){key=toKey(key),baseAssignValue(object,key,bind(object[key],object))}),object}),flow=createFlow(),flowRight=createFlow(!0),method=baseRest(function(path,args){return function(object){return baseInvoke(object,path,args)}}),methodOf=baseRest(function(object,args){return function(path){return baseInvoke(object,path,args)}}),over=createOver(arrayMap),overEvery=createOver(arrayEvery),overSome=createOver(arraySome),range=createRange(),rangeRight=createRange(!0),add=createMathOperation(function(augend,addend){return augend+addend},0),ceil=createRound("ceil"),divide=createMathOperation(function(dividend,divisor){return dividend/divisor},1),floor=createRound("floor"),multiply=createMathOperation(function(multiplier,multiplicand){return multiplier*multiplicand},1),round=createRound("round"),subtract=createMathOperation(function(minuend,subtrahend){
+return minuend-subtrahend},0);return lodash.after=after,lodash.ary=ary,lodash.assign=assign,lodash.assignIn=assignIn,lodash.assignInWith=assignInWith,lodash.assignWith=assignWith,lodash.at=at,lodash.before=before,lodash.bind=bind,lodash.bindAll=bindAll,lodash.bindKey=bindKey,lodash.castArray=castArray,lodash.chain=chain,lodash.chunk=chunk,lodash.compact=compact,lodash.concat=concat,lodash.cond=cond,lodash.conforms=conforms,lodash.constant=constant,lodash.countBy=countBy,lodash.create=create,lodash.curry=curry,lodash.curryRight=curryRight,lodash.debounce=debounce,lodash.defaults=defaults,lodash.defaultsDeep=defaultsDeep,lodash.defer=defer,lodash.delay=delay,lodash.difference=difference,lodash.differenceBy=differenceBy,lodash.differenceWith=differenceWith,lodash.drop=drop,lodash.dropRight=dropRight,lodash.dropRightWhile=dropRightWhile,lodash.dropWhile=dropWhile,lodash.fill=fill,lodash.filter=filter,lodash.flatMap=flatMap,lodash.flatMapDeep=flatMapDeep,lodash.flatMapDepth=flatMapDepth,lodash.flatten=flatten,lodash.flattenDeep=flattenDeep,lodash.flattenDepth=flattenDepth,lodash.flip=flip,lodash.flow=flow,lodash.flowRight=flowRight,lodash.fromPairs=fromPairs,lodash.functions=functions,lodash.functionsIn=functionsIn,lodash.groupBy=groupBy,lodash.initial=initial,lodash.intersection=intersection,lodash.intersectionBy=intersectionBy,lodash.intersectionWith=intersectionWith,lodash.invert=invert,lodash.invertBy=invertBy,lodash.invokeMap=invokeMap,lodash.iteratee=iteratee,lodash.keyBy=keyBy,lodash.keys=keys,lodash.keysIn=keysIn,lodash.map=map,lodash.mapKeys=mapKeys,lodash.mapValues=mapValues,lodash.matches=matches,lodash.matchesProperty=matchesProperty,lodash.memoize=memoize,lodash.merge=merge,lodash.mergeWith=mergeWith,lodash.method=method,lodash.methodOf=methodOf,lodash.mixin=mixin,lodash.negate=negate,lodash.nthArg=nthArg,lodash.omit=omit,lodash.omitBy=omitBy,lodash.once=once,lodash.orderBy=orderBy,lodash.over=over,lodash.overArgs=overArgs,lodash.overEvery=overEvery,lodash.overSome=overSome,lodash.partial=partial,lodash.partialRight=partialRight,lodash.partition=partition,lodash.pick=pick,lodash.pickBy=pickBy,lodash.property=property,lodash.propertyOf=propertyOf,lodash.pull=pull,lodash.pullAll=pullAll,lodash.pullAllBy=pullAllBy,lodash.pullAllWith=pullAllWith,lodash.pullAt=pullAt,lodash.range=range,lodash.rangeRight=rangeRight,lodash.rearg=rearg,lodash.reject=reject,lodash.remove=remove,lodash.rest=rest,lodash.reverse=reverse,lodash.sampleSize=sampleSize,lodash.set=set,lodash.setWith=setWith,lodash.shuffle=shuffle,lodash.slice=slice,lodash.sortBy=sortBy,lodash.sortedUniq=sortedUniq,lodash.sortedUniqBy=sortedUniqBy,lodash.split=split,lodash.spread=spread,lodash.tail=tail,lodash.take=take,lodash.takeRight=takeRight,lodash.takeRightWhile=takeRightWhile,lodash.takeWhile=takeWhile,lodash.tap=tap,lodash.throttle=throttle,lodash.thru=thru,lodash.toArray=toArray,lodash.toPairs=toPairs,lodash.toPairsIn=toPairsIn,lodash.toPath=toPath,lodash.toPlainObject=toPlainObject,lodash.transform=transform,lodash.unary=unary,lodash.union=union,lodash.unionBy=unionBy,lodash.unionWith=unionWith,lodash.uniq=uniq,lodash.uniqBy=uniqBy,lodash.uniqWith=uniqWith,lodash.unset=unset,lodash.unzip=unzip,lodash.unzipWith=unzipWith,lodash.update=update,lodash.updateWith=updateWith,lodash.values=values,lodash.valuesIn=valuesIn,lodash.without=without,lodash.words=words,lodash.wrap=wrap,lodash.xor=xor,lodash.xorBy=xorBy,lodash.xorWith=xorWith,lodash.zip=zip,lodash.zipObject=zipObject,lodash.zipObjectDeep=zipObjectDeep,lodash.zipWith=zipWith,lodash.entries=toPairs,lodash.entriesIn=toPairsIn,lodash.extend=assignIn,lodash.extendWith=assignInWith,mixin(lodash,lodash),lodash.add=add,lodash.attempt=attempt,lodash.camelCase=camelCase,lodash.capitalize=capitalize,lodash.ceil=ceil,lodash.clamp=clamp,lodash.clone=clone,lodash.cloneDeep=cloneDeep,lodash.cloneDeepWith=cloneDeepWith,lodash.cloneWith=cloneWith,lodash.conformsTo=conformsTo,lodash.deburr=deburr,lodash.defaultTo=defaultTo,lodash.divide=divide,lodash.endsWith=endsWith,lodash.eq=eq,lodash.escape=escape,lodash.escapeRegExp=escapeRegExp,lodash.every=every,lodash.find=find,lodash.findIndex=findIndex,lodash.findKey=findKey,lodash.findLast=findLast,lodash.findLastIndex=findLastIndex,lodash.findLastKey=findLastKey,lodash.floor=floor,lodash.forEach=forEach,lodash.forEachRight=forEachRight,lodash.forIn=forIn,lodash.forInRight=forInRight,lodash.forOwn=forOwn,lodash.forOwnRight=forOwnRight,lodash.get=get,lodash.gt=gt,lodash.gte=gte,lodash.has=has,lodash.hasIn=hasIn,lodash.head=head,lodash.identity=identity,lodash.includes=includes,lodash.indexOf=indexOf,lodash.inRange=inRange,lodash.invoke=invoke,lodash.isArguments=isArguments,lodash.isArray=isArray,lodash.isArrayBuffer=isArrayBuffer,lodash.isArrayLike=isArrayLike,lodash.isArrayLikeObject=isArrayLikeObject,lodash.isBoolean=isBoolean,lodash.isBuffer=isBuffer,lodash.isDate=isDate,lodash.isElement=isElement,lodash.isEmpty=isEmpty,lodash.isEqual=isEqual,lodash.isEqualWith=isEqualWith,lodash.isError=isError,lodash.isFinite=isFinite,lodash.isFunction=isFunction,lodash.isInteger=isInteger,lodash.isLength=isLength,lodash.isMap=isMap,lodash.isMatch=isMatch,lodash.isMatchWith=isMatchWith,lodash.isNaN=isNaN,lodash.isNative=isNative,lodash.isNil=isNil,lodash.isNull=isNull,lodash.isNumber=isNumber,lodash.isObject=isObject,lodash.isObjectLike=isObjectLike,lodash.isPlainObject=isPlainObject,lodash.isRegExp=isRegExp,lodash.isSafeInteger=isSafeInteger,lodash.isSet=isSet,lodash.isString=isString,lodash.isSymbol=isSymbol,lodash.isTypedArray=isTypedArray,lodash.isUndefined=isUndefined,lodash.isWeakMap=isWeakMap,lodash.isWeakSet=isWeakSet,lodash.join=join,lodash.kebabCase=kebabCase,lodash.last=last,lodash.lastIndexOf=lastIndexOf,lodash.lowerCase=lowerCase,lodash.lowerFirst=lowerFirst,lodash.lt=lt,lodash.lte=lte,lodash.max=max,lodash.maxBy=maxBy,lodash.mean=mean,lodash.meanBy=meanBy,lodash.min=min,lodash.minBy=minBy,lodash.stubArray=stubArray,lodash.stubFalse=stubFalse,lodash.stubObject=stubObject,lodash.stubString=stubString,lodash.stubTrue=stubTrue,lodash.multiply=multiply,lodash.nth=nth,lodash.noConflict=noConflict,lodash.noop=noop,lodash.now=now,lodash.pad=pad,lodash.padEnd=padEnd,lodash.padStart=padStart,lodash.parseInt=parseInt,lodash.random=random,lodash.reduce=reduce,lodash.reduceRight=reduceRight,lodash.repeat=repeat,lodash.replace=replace,lodash.result=result,lodash.round=round,lodash.runInContext=runInContext,lodash.sample=sample,lodash.size=size,lodash.snakeCase=snakeCase,lodash.some=some,lodash.sortedIndex=sortedIndex,lodash.sortedIndexBy=sortedIndexBy,lodash.sortedIndexOf=sortedIndexOf,lodash.sortedLastIndex=sortedLastIndex,lodash.sortedLastIndexBy=sortedLastIndexBy,lodash.sortedLastIndexOf=sortedLastIndexOf,lodash.startCase=startCase,lodash.startsWith=startsWith,lodash.subtract=subtract,lodash.sum=sum,lodash.sumBy=sumBy,lodash.template=template,lodash.times=times,lodash.toFinite=toFinite,lodash.toInteger=toInteger,lodash.toLength=toLength,lodash.toLower=toLower,lodash.toNumber=toNumber,lodash.toSafeInteger=toSafeInteger,lodash.toString=toString,lodash.toUpper=toUpper,lodash.trim=trim,lodash.trimEnd=trimEnd,lodash.trimStart=trimStart,lodash.truncate=truncate,lodash.unescape=unescape,lodash.uniqueId=uniqueId,lodash.upperCase=upperCase,lodash.upperFirst=upperFirst,lodash.each=forEach,lodash.eachRight=forEachRight,lodash.first=head,mixin(lodash,function(){var source={};return baseForOwn(lodash,function(func,methodName){hasOwnProperty.call(lodash.prototype,methodName)||(source[methodName]=func)}),source}(),{chain:!1}),lodash.VERSION=VERSION,arrayEach(["bind","bindKey","curry","curryRight","partial","partialRight"],function(methodName){lodash[methodName].placeholder=lodash}),arrayEach(["drop","take"],function(methodName,index){LazyWrapper.prototype[methodName]=function(n){n=n===undefined?1:nativeMax(toInteger(n),0);var result=this.__filtered__&&!index?new LazyWrapper(this):this.clone();return result.__filtered__?result.__takeCount__=nativeMin(n,result.__takeCount__):result.__views__.push({size:nativeMin(n,MAX_ARRAY_LENGTH),type:methodName+(result.__dir__<0?"Right":"")}),result},LazyWrapper.prototype[methodName+"Right"]=function(n){return this.reverse()[methodName](n).reverse()}}),arrayEach(["filter","map","takeWhile"],function(methodName,index){var type=index+1,isFilter=type==LAZY_FILTER_FLAG||type==LAZY_WHILE_FLAG;LazyWrapper.prototype[methodName]=function(iteratee){var result=this.clone();return result.__iteratees__.push({iteratee:getIteratee(iteratee,3),type:type}),result.__filtered__=result.__filtered__||isFilter,result}}),arrayEach(["head","last"],function(methodName,index){var takeName="take"+(index?"Right":"");LazyWrapper.prototype[methodName]=function(){return this[takeName](1).value()[0]}}),arrayEach(["initial","tail"],function(methodName,index){var dropName="drop"+(index?"":"Right");LazyWrapper.prototype[methodName]=function(){return this.__filtered__?new LazyWrapper(this):this[dropName](1)}}),LazyWrapper.prototype.compact=function(){return this.filter(identity)},LazyWrapper.prototype.find=function(predicate){return this.filter(predicate).head()},LazyWrapper.prototype.findLast=function(predicate){return this.reverse().find(predicate)},LazyWrapper.prototype.invokeMap=baseRest(function(path,args){return"function"==typeof path?new LazyWrapper(this):this.map(function(value){return baseInvoke(value,path,args)})}),LazyWrapper.prototype.reject=function(predicate){return this.filter(negate(getIteratee(predicate)))},LazyWrapper.prototype.slice=function(start,end){start=toInteger(start);var result=this;return result.__filtered__&&(start>0||end<0)?new LazyWrapper(result):(start<0?result=result.takeRight(-start):start&&(result=result.drop(start)),end!==undefined&&(end=toInteger(end),result=end<0?result.dropRight(-end):result.take(end-start)),result)},LazyWrapper.prototype.takeRightWhile=function(predicate){return this.reverse().takeWhile(predicate).reverse()},LazyWrapper.prototype.toArray=function(){return this.take(MAX_ARRAY_LENGTH)},baseForOwn(LazyWrapper.prototype,function(func,methodName){var checkIteratee=/^(?:filter|find|map|reject)|While$/.test(methodName),isTaker=/^(?:head|last)$/.test(methodName),lodashFunc=lodash[isTaker?"take"+("last"==methodName?"Right":""):methodName],retUnwrapped=isTaker||/^find/.test(methodName);lodashFunc&&(lodash.prototype[methodName]=function(){var value=this.__wrapped__,args=isTaker?[1]:arguments,isLazy=value instanceof LazyWrapper,iteratee=args[0],useLazy=isLazy||isArray(value),interceptor=function(value){var result=lodashFunc.apply(lodash,arrayPush([value],args));return isTaker&&chainAll?result[0]:result};useLazy&&checkIteratee&&"function"==typeof iteratee&&1!=iteratee.length&&(isLazy=useLazy=!1);var chainAll=this.__chain__,isHybrid=!!this.__actions__.length,isUnwrapped=retUnwrapped&&!chainAll,onlyLazy=isLazy&&!isHybrid;if(!retUnwrapped&&useLazy){value=onlyLazy?value:new LazyWrapper(this);var result=func.apply(value,args);return result.__actions__.push({func:thru,args:[interceptor],thisArg:undefined}),new LodashWrapper(result,chainAll)}return isUnwrapped&&onlyLazy?func.apply(this,args):(result=this.thru(interceptor),isUnwrapped?isTaker?result.value()[0]:result.value():result)})}),arrayEach(["pop","push","shift","sort","splice","unshift"],function(methodName){var func=arrayProto[methodName],chainName=/^(?:push|sort|unshift)$/.test(methodName)?"tap":"thru",retUnwrapped=/^(?:pop|shift)$/.test(methodName);lodash.prototype[methodName]=function(){var args=arguments;if(retUnwrapped&&!this.__chain__){var value=this.value();return func.apply(isArray(value)?value:[],args)}return this[chainName](function(value){return func.apply(isArray(value)?value:[],args)})}}),baseForOwn(LazyWrapper.prototype,function(func,methodName){var lodashFunc=lodash[methodName];if(lodashFunc){var key=lodashFunc.name+"",names=realNames[key]||(realNames[key]=[]);names.push({name:methodName,func:lodashFunc})}}),realNames[createHybrid(undefined,WRAP_BIND_KEY_FLAG).name]=[{name:"wrapper",func:undefined}],LazyWrapper.prototype.clone=lazyClone,LazyWrapper.prototype.reverse=lazyReverse,LazyWrapper.prototype.value=lazyValue,lodash.prototype.at=wrapperAt,lodash.prototype.chain=wrapperChain,lodash.prototype.commit=wrapperCommit,lodash.prototype.next=wrapperNext,lodash.prototype.plant=wrapperPlant,lodash.prototype.reverse=wrapperReverse,lodash.prototype.toJSON=lodash.prototype.valueOf=lodash.prototype.value=wrapperValue,lodash.prototype.first=lodash.prototype.head,symIterator&&(lodash.prototype[symIterator]=wrapperToIterator),lodash},_=runInContext();root._=_,__WEBPACK_AMD_DEFINE_RESULT__=function(){return _}.call(exports,__webpack_require__,exports,module),!(__WEBPACK_AMD_DEFINE_RESULT__!==undefined&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__))}).call(this)}).call(exports,__webpack_require__(4),__webpack_require__(41)(module))},,,function(module,exports,__webpack_require__){!function(root,pluralize){module.exports=pluralize()}(this,function(){function toTitleCase(str){return str.charAt(0).toUpperCase()+str.substr(1).toLowerCase()}function sanitizeRule(rule){return"string"==typeof rule?new RegExp("^"+rule+"$","i"):rule}function restoreCase(word,token){return word===token?token:word===word.toUpperCase()?token.toUpperCase():word[0]===word[0].toUpperCase()?toTitleCase(token):token.toLowerCase()}function interpolate(str,args){return str.replace(/\$(\d{1,2})/g,function(match,index){return args[index]||""})}function sanitizeWord(token,word,collection){if(!token.length||uncountables.hasOwnProperty(token))return word;for(var len=collection.length;len--;){var rule=collection[len];if(rule[0].test(word))return word.replace(rule[0],function(match,index,word){var result=interpolate(rule[1],arguments);return""===match?restoreCase(word[index-1],result):restoreCase(match,result)})}return word}function replaceWord(replaceMap,keepMap,rules){return function(word){var token=word.toLowerCase();return keepMap.hasOwnProperty(token)?restoreCase(word,token):replaceMap.hasOwnProperty(token)?restoreCase(word,replaceMap[token]):sanitizeWord(token,word,rules)}}function pluralize(word,count,inclusive){var pluralized=1===count?pluralize.singular(word):pluralize.plural(word);return(inclusive?count+" ":"")+pluralized}var pluralRules=[],singularRules=[],uncountables={},irregularPlurals={},irregularSingles={};return pluralize.plural=replaceWord(irregularSingles,irregularPlurals,pluralRules),pluralize.singular=replaceWord(irregularPlurals,irregularSingles,singularRules),pluralize.addPluralRule=function(rule,replacement){pluralRules.push([sanitizeRule(rule),replacement])},pluralize.addSingularRule=function(rule,replacement){singularRules.push([sanitizeRule(rule),replacement])},pluralize.addUncountableRule=function(word){return"string"==typeof word?void(uncountables[word.toLowerCase()]=!0):(pluralize.addPluralRule(word,"$0"),void pluralize.addSingularRule(word,"$0"))},pluralize.addIrregularRule=function(single,plural){plural=plural.toLowerCase(),single=single.toLowerCase(),irregularSingles[single]=plural,irregularPlurals[plural]=single},[["I","we"],["me","us"],["he","they"],["she","they"],["them","them"],["myself","ourselves"],["yourself","yourselves"],["itself","themselves"],["herself","themselves"],["himself","themselves"],["themself","themselves"],["is","are"],["was","were"],["has","have"],["this","these"],["that","those"],["echo","echoes"],["dingo","dingoes"],["volcano","volcanoes"],["tornado","tornadoes"],["torpedo","torpedoes"],["genus","genera"],["viscus","viscera"],["stigma","stigmata"],["stoma","stomata"],["dogma","dogmata"],["lemma","lemmata"],["schema","schemata"],["anathema","anathemata"],["ox","oxen"],["axe","axes"],["die","dice"],["yes","yeses"],["foot","feet"],["eave","eaves"],["goose","geese"],["tooth","teeth"],["quiz","quizzes"],["human","humans"],["proof","proofs"],["carve","carves"],["valve","valves"],["looey","looies"],["thief","thieves"],["groove","grooves"],["pickaxe","pickaxes"],["whiskey","whiskies"]].forEach(function(rule){return pluralize.addIrregularRule(rule[0],rule[1])}),[[/s?$/i,"s"],[/([^aeiou]ese)$/i,"$1"],[/(ax|test)is$/i,"$1es"],[/(alias|[^aou]us|tlas|gas|ris)$/i,"$1es"],[/(e[mn]u)s?$/i,"$1s"],[/([^l]ias|[aeiou]las|[emjzr]as|[iu]am)$/i,"$1"],[/(alumn|syllab|octop|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1i"],[/(alumn|alg|vertebr)(?:a|ae)$/i,"$1ae"],[/(seraph|cherub)(?:im)?$/i,"$1im"],[/(her|at|gr)o$/i,"$1oes"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i,"$1a"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i,"$1a"],[/sis$/i,"ses"],[/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i,"$1$2ves"],[/([^aeiouy]|qu)y$/i,"$1ies"],[/([^ch][ieo][ln])ey$/i,"$1ies"],[/(x|ch|ss|sh|zz)$/i,"$1es"],[/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i,"$1ices"],[/(m|l)(?:ice|ouse)$/i,"$1ice"],[/(pe)(?:rson|ople)$/i,"$1ople"],[/(child)(?:ren)?$/i,"$1ren"],[/eaux$/i,"$0"],[/m[ae]n$/i,"men"],["thou","you"]].forEach(function(rule){return pluralize.addPluralRule(rule[0],rule[1])}),[[/s$/i,""],[/(ss)$/i,"$1"],[/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)(?:sis|ses)$/i,"$1sis"],[/(^analy)(?:sis|ses)$/i,"$1sis"],[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\w]|^)li)ves$/i,"$1fe"],[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i,"$1f"],[/ies$/i,"y"],[/\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i,"$1ie"],[/\b(mon|smil)ies$/i,"$1ey"],[/(m|l)ice$/i,"$1ouse"],[/(seraph|cherub)im$/i,"$1"],[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|tlas|gas|(?:her|at|gr)o|ris)(?:es)?$/i,"$1"],[/(e[mn]u)s?$/i,"$1"],[/(movie|twelve)s$/i,"$1"],[/(cris|test|diagnos)(?:is|es)$/i,"$1is"],[/(alumn|syllab|octop|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1us"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i,"$1um"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i,"$1on"],[/(alumn|alg|vertebr)ae$/i,"$1a"],[/(cod|mur|sil|vert|ind)ices$/i,"$1ex"],[/(matr|append)ices$/i,"$1ix"],[/(pe)(rson|ople)$/i,"$1rson"],[/(child)ren$/i,"$1"],[/(eau)x?$/i,"$1"],[/men$/i,"man"]].forEach(function(rule){return pluralize.addSingularRule(rule[0],rule[1])}),["advice","adulthood","agenda","aid","alcohol","ammo","athletics","bison","blood","bream","buffalo","butter","carp","cash","chassis","chess","clothing","commerce","cod","cooperation","corps","digestion","debris","diabetes","energy","equipment","elk","excretion","expertise","flounder","fun","gallows","garbage","graffiti","headquarters","health","herpes","highjinks","homework","housework","information","jeans","justice","kudos","labour","literature","machinery","mackerel","mail","media","mews","moose","music","news","pike","plankton","pliers","pollution","premises","rain","research","rice","salmon","scissors","series","sewage","shambles","shrimp","species","staff","swine","trout","traffic","transporation","tuna","wealth","welfare","whiting","wildebeest","wildlife","you",/pox$/i,/ois$/i,/deer$/i,/fish$/i,/sheep$/i,/measles$/i,/[^aeiou]ese$/i].forEach(pluralize.addUncountableRule),pluralize})},function(module,exports,__webpack_require__){"use strict";var Subject_1=__webpack_require__(6);exports.Subject=Subject_1.Subject,exports.AnonymousSubject=Subject_1.AnonymousSubject;var Observable_1=__webpack_require__(0);exports.Observable=Observable_1.Observable,__webpack_require__(153),__webpack_require__(154),__webpack_require__(155),__webpack_require__(156),__webpack_require__(157),__webpack_require__(160),__webpack_require__(161),__webpack_require__(162),__webpack_require__(163),__webpack_require__(164),__webpack_require__(165),__webpack_require__(166),__webpack_require__(167),__webpack_require__(168),__webpack_require__(169),__webpack_require__(174),__webpack_require__(170),__webpack_require__(171),__webpack_require__(172),__webpack_require__(173),__webpack_require__(175),__webpack_require__(178),__webpack_require__(176),__webpack_require__(177),__webpack_require__(179),__webpack_require__(158),__webpack_require__(159),__webpack_require__(182),__webpack_require__(183),__webpack_require__(184),__webpack_require__(185),__webpack_require__(186),__webpack_require__(187),__webpack_require__(188),__webpack_require__(189),__webpack_require__(190),__webpack_require__(191),__webpack_require__(192),__webpack_require__(193),__webpack_require__(194),__webpack_require__(200),__webpack_require__(195),__webpack_require__(196),__webpack_require__(197),__webpack_require__(198),__webpack_require__(199),__webpack_require__(201),__webpack_require__(202),__webpack_require__(203),__webpack_require__(204),__webpack_require__(207),__webpack_require__(208),__webpack_require__(209),__webpack_require__(205),__webpack_require__(210),__webpack_require__(211),__webpack_require__(212),__webpack_require__(213),__webpack_require__(214),__webpack_require__(215),__webpack_require__(216),__webpack_require__(217),__webpack_require__(180),__webpack_require__(181),__webpack_require__(218),__webpack_require__(219),__webpack_require__(206),__webpack_require__(220),__webpack_require__(221),__webpack_require__(222),__webpack_require__(223),__webpack_require__(224),__webpack_require__(225),__webpack_require__(226),__webpack_require__(227),__webpack_require__(228),__webpack_require__(229),__webpack_require__(230),__webpack_require__(231),__webpack_require__(232),__webpack_require__(233),__webpack_require__(234),__webpack_require__(235),__webpack_require__(236),__webpack_require__(237),__webpack_require__(239),__webpack_require__(238),__webpack_require__(240),__webpack_require__(241),__webpack_require__(242),__webpack_require__(243),__webpack_require__(244),__webpack_require__(245),__webpack_require__(246),__webpack_require__(247),__webpack_require__(248),__webpack_require__(249),__webpack_require__(250),__webpack_require__(251),__webpack_require__(252),__webpack_require__(253),__webpack_require__(254),__webpack_require__(255),__webpack_require__(256),__webpack_require__(257),__webpack_require__(258),__webpack_require__(259),__webpack_require__(260),__webpack_require__(261),__webpack_require__(262),__webpack_require__(263),__webpack_require__(264),__webpack_require__(265),__webpack_require__(266),__webpack_require__(267),__webpack_require__(268),__webpack_require__(269),__webpack_require__(270),__webpack_require__(271),__webpack_require__(272),__webpack_require__(273),__webpack_require__(274),__webpack_require__(275),__webpack_require__(276),__webpack_require__(277),__webpack_require__(278),__webpack_require__(279);var Subscription_1=__webpack_require__(5);exports.Subscription=Subscription_1.Subscription;var Subscriber_1=__webpack_require__(1);exports.Subscriber=Subscriber_1.Subscriber;var AsyncSubject_1=__webpack_require__(30);exports.AsyncSubject=AsyncSubject_1.AsyncSubject;var ReplaySubject_1=__webpack_require__(50);exports.ReplaySubject=ReplaySubject_1.ReplaySubject;var BehaviorSubject_1=__webpack_require__(70);exports.BehaviorSubject=BehaviorSubject_1.BehaviorSubject;var ConnectableObservable_1=__webpack_require__(73);exports.ConnectableObservable=ConnectableObservable_1.ConnectableObservable;var Notification_1=__webpack_require__(22);exports.Notification=Notification_1.Notification;var EmptyError_1=__webpack_require__(35);exports.EmptyError=EmptyError_1.EmptyError;var ArgumentOutOfRangeError_1=__webpack_require__(34);exports.ArgumentOutOfRangeError=ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;var ObjectUnsubscribedError_1=__webpack_require__(36);exports.ObjectUnsubscribedError=ObjectUnsubscribedError_1.ObjectUnsubscribedError;var TimeoutError_1=__webpack_require__(92);exports.TimeoutError=TimeoutError_1.TimeoutError;var UnsubscriptionError_1=__webpack_require__(93);exports.UnsubscriptionError=UnsubscriptionError_1.UnsubscriptionError;var timeInterval_1=__webpack_require__(85);exports.TimeInterval=timeInterval_1.TimeInterval;var timestamp_1=__webpack_require__(86);exports.Timestamp=timestamp_1.Timestamp;var TestScheduler_1=__webpack_require__(415);exports.TestScheduler=TestScheduler_1.TestScheduler;var VirtualTimeScheduler_1=__webpack_require__(87);exports.VirtualTimeScheduler=VirtualTimeScheduler_1.VirtualTimeScheduler;var AjaxObservable_1=__webpack_require__(76);exports.AjaxResponse=AjaxObservable_1.AjaxResponse,exports.AjaxError=AjaxObservable_1.AjaxError,exports.AjaxTimeoutError=AjaxObservable_1.AjaxTimeoutError;var asap_1=__webpack_require__(88),async_1=__webpack_require__(10),queue_1=__webpack_require__(89),animationFrame_1=__webpack_require__(412),rxSubscriber_1=__webpack_require__(33),iterator_1=__webpack_require__(25),observable_1=__webpack_require__(32),Scheduler={asap:asap_1.asap,queue:queue_1.queue,animationFrame:animationFrame_1.animationFrame,async:async_1.async};exports.Scheduler=Scheduler;var Symbol={rxSubscriber:rxSubscriber_1.$$rxSubscriber,observable:observable_1.$$observable,iterator:iterator_1.$$iterator};exports.Symbol=Symbol},function(module,exports,__webpack_require__){function lookup(uri,opts){"object"==typeof uri&&(opts=uri,uri=void 0),opts=opts||{};var io,parsed=url(uri),source=parsed.source,id=parsed.id,path=parsed.path,sameNamespace=cache[id]&&path in cache[id].nsps,newConnection=opts.forceNew||opts["force new connection"]||!1===opts.multiplex||sameNamespace;return newConnection?(debug("ignoring socket cache for %s",source),io=Manager(source,opts)):(cache[id]||(debug("new io instance for %s",source),cache[id]=Manager(source,opts)),io=cache[id]),parsed.query&&!opts.query?opts.query=parsed.query:opts&&"object"==typeof opts.query&&(opts.query=encodeQueryString(opts.query)),io.socket(parsed.path,opts)}function encodeQueryString(obj){var str=[];for(var p in obj)obj.hasOwnProperty(p)&&str.push(encodeURIComponent(p)+"="+encodeURIComponent(obj[p]));return str.join("&")}var url=__webpack_require__(425),parser=__webpack_require__(61),Manager=__webpack_require__(99),debug=__webpack_require__(18)("socket.io-client");module.exports=exports=lookup;var cache=exports.managers={};exports.protocol=parser.protocol,exports.connect=lookup,exports.Manager=__webpack_require__(99),exports.Socket=__webpack_require__(101)},function(module,exports){/**
+ * @license AngularJS v1.6.3
+ * (c) 2010-2017 Google, Inc. http://angularjs.org
+ * License: MIT
+ */
+!function(window,angular){"use strict";function assertArg(arg,name,reason){if(!arg)throw ngMinErr("areq","Argument '{0}' is {1}",name||"?",reason||"required");return arg}function mergeClasses(a,b){return a||b?a?b?(isArray(a)&&(a=a.join(" ")),isArray(b)&&(b=b.join(" ")),a+" "+b):a:b:""}function packageStyles(options){var styles={};return options&&(options.to||options.from)&&(styles.to=options.to,styles.from=options.from),styles}function pendClasses(classes,fix,isPrefix){var className="";return classes=isArray(classes)?classes:classes&&isString(classes)&&classes.length?classes.split(/\s+/):[],forEach(classes,function(klass,i){klass&&klass.length>0&&(className+=i>0?" ":"",className+=isPrefix?fix+klass:klass+fix)}),className}function removeFromArray(arr,val){var index=arr.indexOf(val);val>=0&&arr.splice(index,1)}function stripCommentsFromElement(element){if(element instanceof jqLite)switch(element.length){case 0:return element;case 1:if(element[0].nodeType===ELEMENT_NODE)return element;break;default:return jqLite(extractElementNode(element))}if(element.nodeType===ELEMENT_NODE)return jqLite(element)}function extractElementNode(element){if(!element[0])return element;for(var i=0;i<element.length;i++){var elm=element[i];if(elm.nodeType===ELEMENT_NODE)return elm}}function $$addClass($$jqLite,element,className){forEach(element,function(elm){$$jqLite.addClass(elm,className)})}function $$removeClass($$jqLite,element,className){forEach(element,function(elm){$$jqLite.removeClass(elm,className)})}function applyAnimationClassesFactory($$jqLite){return function(element,options){options.addClass&&($$addClass($$jqLite,element,options.addClass),options.addClass=null),options.removeClass&&($$removeClass($$jqLite,element,options.removeClass),options.removeClass=null)}}function prepareAnimationOptions(options){if(options=options||{},!options.$$prepared){var domOperation=options.domOperation||noop;options.domOperation=function(){options.$$domOperationFired=!0,domOperation(),domOperation=noop},options.$$prepared=!0}return options}function applyAnimationStyles(element,options){applyAnimationFromStyles(element,options),applyAnimationToStyles(element,options)}function applyAnimationFromStyles(element,options){options.from&&(element.css(options.from),options.from=null)}function applyAnimationToStyles(element,options){options.to&&(element.css(options.to),options.to=null)}function mergeAnimationDetails(element,oldAnimation,newAnimation){var target=oldAnimation.options||{},newOptions=newAnimation.options||{},toAdd=(target.addClass||"")+" "+(newOptions.addClass||""),toRemove=(target.removeClass||"")+" "+(newOptions.removeClass||""),classes=resolveElementClasses(element.attr("class"),toAdd,toRemove);newOptions.preparationClasses&&(target.preparationClasses=concatWithSpace(newOptions.preparationClasses,target.preparationClasses),delete newOptions.preparationClasses);var realDomOperation=target.domOperation!==noop?target.domOperation:null;return extend(target,newOptions),realDomOperation&&(target.domOperation=realDomOperation),classes.addClass?target.addClass=classes.addClass:target.addClass=null,classes.removeClass?target.removeClass=classes.removeClass:target.removeClass=null,oldAnimation.addClass=target.addClass,oldAnimation.removeClass=target.removeClass,target}function resolveElementClasses(existing,toAdd,toRemove){function splitClassesToLookup(classes){isString(classes)&&(classes=classes.split(" "));var obj={};return forEach(classes,function(klass){klass.length&&(obj[klass]=!0)}),obj}var ADD_CLASS=1,REMOVE_CLASS=-1,flags={};existing=splitClassesToLookup(existing),toAdd=splitClassesToLookup(toAdd),forEach(toAdd,function(value,key){flags[key]=ADD_CLASS}),toRemove=splitClassesToLookup(toRemove),forEach(toRemove,function(value,key){flags[key]=flags[key]===ADD_CLASS?null:REMOVE_CLASS});var classes={addClass:"",removeClass:""};return forEach(flags,function(val,klass){var prop,allow;val===ADD_CLASS?(prop="addClass",allow=!existing[klass]||existing[klass+REMOVE_CLASS_SUFFIX]):val===REMOVE_CLASS&&(prop="removeClass",allow=existing[klass]||existing[klass+ADD_CLASS_SUFFIX]),allow&&(classes[prop].length&&(classes[prop]+=" "),classes[prop]+=klass)}),classes}function getDomNode(element){return element instanceof jqLite?element[0]:element}function applyGeneratedPreparationClasses(element,event,options){var classes="";event&&(classes=pendClasses(event,EVENT_CLASS_PREFIX,!0)),options.addClass&&(classes=concatWithSpace(classes,pendClasses(options.addClass,ADD_CLASS_SUFFIX))),options.removeClass&&(classes=concatWithSpace(classes,pendClasses(options.removeClass,REMOVE_CLASS_SUFFIX))),classes.length&&(options.preparationClasses=classes,element.addClass(classes))}function clearGeneratedClasses(element,options){options.preparationClasses&&(element.removeClass(options.preparationClasses),options.preparationClasses=null),options.activeClasses&&(element.removeClass(options.activeClasses),options.activeClasses=null)}function blockTransitions(node,duration){var value=duration?"-"+duration+"s":"";return applyInlineStyle(node,[TRANSITION_DELAY_PROP,value]),[TRANSITION_DELAY_PROP,value]}function blockKeyframeAnimations(node,applyBlock){var value=applyBlock?"paused":"",key=ANIMATION_PROP+ANIMATION_PLAYSTATE_KEY;return applyInlineStyle(node,[key,value]),[key,value]}function applyInlineStyle(node,styleTuple){var prop=styleTuple[0],value=styleTuple[1];node.style[prop]=value}function concatWithSpace(a,b){return a?b?a+" "+b:a:b}function getCssKeyframeDurationStyle(duration){return[ANIMATION_DURATION_PROP,duration+"s"]}function getCssDelayStyle(delay,isKeyframeAnimation){var prop=isKeyframeAnimation?ANIMATION_DELAY_PROP:TRANSITION_DELAY_PROP;return[prop,delay+"s"]}function computeCssStyles($window,element,properties){var styles=Object.create(null),detectedStyles=$window.getComputedStyle(element)||{};return forEach(properties,function(formalStyleName,actualStyleName){var val=detectedStyles[formalStyleName];if(val){var c=val.charAt(0);("-"===c||"+"===c||c>=0)&&(val=parseMaxTime(val)),0===val&&(val=null),styles[actualStyleName]=val}}),styles}function parseMaxTime(str){var maxValue=0,values=str.split(/\s*,\s*/);return forEach(values,function(value){"s"===value.charAt(value.length-1)&&(value=value.substring(0,value.length-1)),value=parseFloat(value)||0,maxValue=maxValue?Math.max(value,maxValue):value}),maxValue}function truthyTimingValue(val){return 0===val||null!=val}function getCssTransitionDurationStyle(duration,applyOnlyDuration){var style=TRANSITION_PROP,value=duration+"s";return applyOnlyDuration?style+=DURATION_KEY:value+=" linear all",[style,value]}function createLocalCacheLookup(){var cache=Object.create(null);return{flush:function(){cache=Object.create(null)},count:function(key){var entry=cache[key];return entry?entry.total:0},get:function(key){var entry=cache[key];return entry&&entry.value},put:function(key,value){cache[key]?cache[key].total++:cache[key]={total:1,value:value}}}}function registerRestorableStyles(backup,node,properties){forEach(properties,function(prop){backup[prop]=isDefined(backup[prop])?backup[prop]:node.style.getPropertyValue(prop)})}var TRANSITION_PROP,TRANSITIONEND_EVENT,ANIMATION_PROP,ANIMATIONEND_EVENT,ELEMENT_NODE=1,ADD_CLASS_SUFFIX="-add",REMOVE_CLASS_SUFFIX="-remove",EVENT_CLASS_PREFIX="ng-",ACTIVE_CLASS_SUFFIX="-active",PREPARE_CLASS_SUFFIX="-prepare",NG_ANIMATE_CLASSNAME="ng-animate",NG_ANIMATE_CHILDREN_DATA="$$ngAnimateChildren",CSS_PREFIX="";void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend?(CSS_PREFIX="-webkit-",TRANSITION_PROP="WebkitTransition",TRANSITIONEND_EVENT="webkitTransitionEnd transitionend"):(TRANSITION_PROP="transition",TRANSITIONEND_EVENT="transitionend"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend?(CSS_PREFIX="-webkit-",ANIMATION_PROP="WebkitAnimation",ANIMATIONEND_EVENT="webkitAnimationEnd animationend"):(ANIMATION_PROP="animation",ANIMATIONEND_EVENT="animationend");var copy,extend,forEach,isArray,isDefined,isElement,isFunction,isObject,isString,isUndefined,jqLite,noop,DURATION_KEY="Duration",PROPERTY_KEY="Property",DELAY_KEY="Delay",TIMING_KEY="TimingFunction",ANIMATION_ITERATION_COUNT_KEY="IterationCount",ANIMATION_PLAYSTATE_KEY="PlayState",SAFE_FAST_FORWARD_DURATION_VALUE=9999,ANIMATION_DELAY_PROP=ANIMATION_PROP+DELAY_KEY,ANIMATION_DURATION_PROP=ANIMATION_PROP+DURATION_KEY,TRANSITION_DELAY_PROP=TRANSITION_PROP+DELAY_KEY,TRANSITION_DURATION_PROP=TRANSITION_PROP+DURATION_KEY,ngMinErr=angular.$$minErr("ng"),$$rAFSchedulerFactory=["$$rAF",function($$rAF){function scheduler(tasks){queue=queue.concat(tasks),nextTick()}function nextTick(){if(queue.length){for(var items=queue.shift(),i=0;i<items.length;i++)items[i]();cancelFn||$$rAF(function(){cancelFn||nextTick()})}}var queue,cancelFn;return queue=scheduler.queue=[],scheduler.waitUntilQuiet=function(fn){cancelFn&&cancelFn(),cancelFn=$$rAF(function(){cancelFn=null,fn(),nextTick()})},scheduler}],$$AnimateChildrenDirective=["$interpolate",function($interpolate){return{link:function(scope,element,attrs){function setData(value){value="on"===value||"true"===value,element.data(NG_ANIMATE_CHILDREN_DATA,value)}var val=attrs.ngAnimateChildren;isString(val)&&0===val.length?element.data(NG_ANIMATE_CHILDREN_DATA,!0):(setData($interpolate(val)(scope)),attrs.$observe("ngAnimateChildren",setData))}}}],ANIMATE_TIMER_KEY="$$animateCss",ONE_SECOND=1e3,ELAPSED_TIME_MAX_DECIMAL_PLACES=3,CLOSING_TIME_BUFFER=1.5,DETECT_CSS_PROPERTIES={transitionDuration:TRANSITION_DURATION_PROP,transitionDelay:TRANSITION_DELAY_PROP,transitionProperty:TRANSITION_PROP+PROPERTY_KEY,animationDuration:ANIMATION_DURATION_PROP,animationDelay:ANIMATION_DELAY_PROP,animationIterationCount:ANIMATION_PROP+ANIMATION_ITERATION_COUNT_KEY},DETECT_STAGGER_CSS_PROPERTIES={transitionDuration:TRANSITION_DURATION_PROP,transitionDelay:TRANSITION_DELAY_PROP,animationDuration:ANIMATION_DURATION_PROP,animationDelay:ANIMATION_DELAY_PROP},$AnimateCssProvider=["$animateProvider",function($animateProvider){var gcsLookup=createLocalCacheLookup(),gcsStaggerLookup=createLocalCacheLookup();this.$get=["$window","$$jqLite","$$AnimateRunner","$timeout","$$forceReflow","$sniffer","$$rAFScheduler","$$animateQueue",function($window,$$jqLite,$$AnimateRunner,$timeout,$$forceReflow,$sniffer,$$rAFScheduler,$$animateQueue){function gcsHashFn(node,extraClasses){var KEY="$$ngAnimateParentKey",parentNode=node.parentNode,parentID=parentNode[KEY]||(parentNode[KEY]=++parentCounter);return parentID+"-"+node.getAttribute("class")+"-"+extraClasses}function computeCachedCssStyles(node,className,cacheKey,properties){var timings=gcsLookup.get(cacheKey);return timings||(timings=computeCssStyles($window,node,properties),"infinite"===timings.animationIterationCount&&(timings.animationIterationCount=1)),gcsLookup.put(cacheKey,timings),timings}function computeCachedCssStaggerStyles(node,className,cacheKey,properties){var stagger;if(gcsLookup.count(cacheKey)>0&&(stagger=gcsStaggerLookup.get(cacheKey),!stagger)){var staggerClassName=pendClasses(className,"-stagger");$$jqLite.addClass(node,staggerClassName),stagger=computeCssStyles($window,node,properties),stagger.animationDuration=Math.max(stagger.animationDuration,0),stagger.transitionDuration=Math.max(stagger.transitionDuration,0),$$jqLite.removeClass(node,staggerClassName),gcsStaggerLookup.put(cacheKey,stagger)}return stagger||{}}function waitUntilQuiet(callback){rafWaitQueue.push(callback),$$rAFScheduler.waitUntilQuiet(function(){gcsLookup.flush(),gcsStaggerLookup.flush();for(var pageWidth=$$forceReflow(),i=0;i<rafWaitQueue.length;i++)rafWaitQueue[i](pageWidth);rafWaitQueue.length=0})}function computeTimings(node,className,cacheKey){var timings=computeCachedCssStyles(node,className,cacheKey,DETECT_CSS_PROPERTIES),aD=timings.animationDelay,tD=timings.transitionDelay;return timings.maxDelay=aD&&tD?Math.max(aD,tD):aD||tD,timings.maxDuration=Math.max(timings.animationDuration*timings.animationIterationCount,timings.transitionDuration),timings}var applyAnimationClasses=applyAnimationClassesFactory($$jqLite),parentCounter=0,rafWaitQueue=[];return function(element,initialOptions){function endFn(){close()}function cancelFn(){close(!0)}function close(rejected){if(!(animationClosed||animationCompleted&&animationPaused)){animationClosed=!0,animationPaused=!1,options.$$skipPreparationClasses||$$jqLite.removeClass(element,preparationClasses),$$jqLite.removeClass(element,activeClasses),blockKeyframeAnimations(node,!1),blockTransitions(node,!1),forEach(temporaryStyles,function(entry){node.style[entry[0]]=""}),applyAnimationClasses(element,options),applyAnimationStyles(element,options),Object.keys(restoreStyles).length&&forEach(restoreStyles,function(value,prop){value?node.style.setProperty(prop,value):node.style.removeProperty(prop)}),options.onDone&&options.onDone(),events&&events.length&&element.off(events.join(" "),onAnimationProgress);var animationTimerData=element.data(ANIMATE_TIMER_KEY);animationTimerData&&($timeout.cancel(animationTimerData[0].timer),element.removeData(ANIMATE_TIMER_KEY)),runner&&runner.complete(!rejected)}}function applyBlocking(duration){flags.blockTransition&&blockTransitions(node,duration),flags.blockKeyframeAnimation&&blockKeyframeAnimations(node,!!duration)}function closeAndReturnNoopAnimator(){return runner=new $$AnimateRunner({end:endFn,cancel:cancelFn}),waitUntilQuiet(noop),close(),{$$willAnimate:!1,start:function(){return runner},end:endFn}}function onAnimationProgress(event){event.stopPropagation();var ev=event.originalEvent||event,timeStamp=ev.$manualTimeStamp||Date.now(),elapsedTime=parseFloat(ev.elapsedTime.toFixed(ELAPSED_TIME_MAX_DECIMAL_PLACES));Math.max(timeStamp-startTime,0)>=maxDelayTime&&elapsedTime>=maxDuration&&(animationCompleted=!0,close())}function start(){function triggerAnimationStart(){if(!animationClosed){if(applyBlocking(!1),forEach(temporaryStyles,function(entry){var key=entry[0],value=entry[1];node.style[key]=value}),applyAnimationClasses(element,options),$$jqLite.addClass(element,activeClasses),flags.recalculateTimingStyles){if(fullClassName=node.getAttribute("class")+" "+preparationClasses,cacheKey=gcsHashFn(node,fullClassName),timings=computeTimings(node,fullClassName,cacheKey),relativeDelay=timings.maxDelay,maxDelay=Math.max(relativeDelay,0),maxDuration=timings.maxDuration,0===maxDuration)return void close();flags.hasTransitions=timings.transitionDuration>0,flags.hasAnimations=timings.animationDuration>0}if(flags.applyAnimationDelay&&(relativeDelay="boolean"!=typeof options.delay&&truthyTimingValue(options.delay)?parseFloat(options.delay):relativeDelay,maxDelay=Math.max(relativeDelay,0),timings.animationDelay=relativeDelay,delayStyle=getCssDelayStyle(relativeDelay,!0),temporaryStyles.push(delayStyle),node.style[delayStyle[0]]=delayStyle[1]),maxDelayTime=maxDelay*ONE_SECOND,maxDurationTime=maxDuration*ONE_SECOND,options.easing){var easeProp,easeVal=options.easing;flags.hasTransitions&&(easeProp=TRANSITION_PROP+TIMING_KEY,temporaryStyles.push([easeProp,easeVal]),node.style[easeProp]=easeVal),flags.hasAnimations&&(easeProp=ANIMATION_PROP+TIMING_KEY,temporaryStyles.push([easeProp,easeVal]),node.style[easeProp]=easeVal)}timings.transitionDuration&&events.push(TRANSITIONEND_EVENT),timings.animationDuration&&events.push(ANIMATIONEND_EVENT),startTime=Date.now();var timerTime=maxDelayTime+CLOSING_TIME_BUFFER*maxDurationTime,endTime=startTime+timerTime,animationsData=element.data(ANIMATE_TIMER_KEY)||[],setupFallbackTimer=!0;if(animationsData.length){var currentTimerData=animationsData[0];setupFallbackTimer=endTime>currentTimerData.expectedEndTime,setupFallbackTimer?$timeout.cancel(currentTimerData.timer):animationsData.push(close)}if(setupFallbackTimer){var timer=$timeout(onAnimationExpired,timerTime,!1);animationsData[0]={timer:timer,expectedEndTime:endTime},animationsData.push(close),element.data(ANIMATE_TIMER_KEY,animationsData)}events.length&&element.on(events.join(" "),onAnimationProgress),options.to&&(options.cleanupStyles&&registerRestorableStyles(restoreStyles,node,Object.keys(options.to)),applyAnimationToStyles(element,options))}}function onAnimationExpired(){var animationsData=element.data(ANIMATE_TIMER_KEY);if(animationsData){for(var i=1;i<animationsData.length;i++)animationsData[i]();element.removeData(ANIMATE_TIMER_KEY)}}if(!animationClosed){if(!node.parentNode)return void close();var playPause=function(playAnimation){if(animationCompleted)animationPaused&&playAnimation&&(animationPaused=!1,close());else if(animationPaused=!playAnimation,timings.animationDuration){var value=blockKeyframeAnimations(node,animationPaused);animationPaused?temporaryStyles.push(value):removeFromArray(temporaryStyles,value)}},maxStagger=itemIndex>0&&(timings.transitionDuration&&0===stagger.transitionDuration||timings.animationDuration&&0===stagger.animationDuration)&&Math.max(stagger.animationDelay,stagger.transitionDelay);maxStagger?$timeout(triggerAnimationStart,Math.floor(maxStagger*itemIndex*ONE_SECOND),!1):triggerAnimationStart(),runnerHost.resume=function(){playPause(!0)},runnerHost.pause=function(){playPause(!1)}}}var options=initialOptions||{};options.$$prepared||(options=prepareAnimationOptions(copy(options)));var restoreStyles={},node=getDomNode(element);if(!node||!node.parentNode||!$$animateQueue.enabled())return closeAndReturnNoopAnimator();var animationClosed,animationPaused,animationCompleted,runner,runnerHost,maxDelay,maxDelayTime,maxDuration,maxDurationTime,startTime,temporaryStyles=[],classes=element.attr("class"),styles=packageStyles(options),events=[];if(0===options.duration||!$sniffer.animations&&!$sniffer.transitions)return closeAndReturnNoopAnimator();var method=options.event&&isArray(options.event)?options.event.join(" "):options.event,isStructural=method&&options.structural,structuralClassName="",addRemoveClassName="";isStructural?structuralClassName=pendClasses(method,EVENT_CLASS_PREFIX,!0):method&&(structuralClassName=method),options.addClass&&(addRemoveClassName+=pendClasses(options.addClass,ADD_CLASS_SUFFIX)),options.removeClass&&(addRemoveClassName.length&&(addRemoveClassName+=" "),addRemoveClassName+=pendClasses(options.removeClass,REMOVE_CLASS_SUFFIX)),options.applyClassesEarly&&addRemoveClassName.length&&applyAnimationClasses(element,options);var preparationClasses=[structuralClassName,addRemoveClassName].join(" ").trim(),fullClassName=classes+" "+preparationClasses,activeClasses=pendClasses(preparationClasses,ACTIVE_CLASS_SUFFIX),hasToStyles=styles.to&&Object.keys(styles.to).length>0,containsKeyframeAnimation=(options.keyframeStyle||"").length>0;if(!containsKeyframeAnimation&&!hasToStyles&&!preparationClasses)return closeAndReturnNoopAnimator();var cacheKey,stagger;if(options.stagger>0){var staggerVal=parseFloat(options.stagger);stagger={transitionDelay:staggerVal,animationDelay:staggerVal,transitionDuration:0,animationDuration:0}}else cacheKey=gcsHashFn(node,fullClassName),stagger=computeCachedCssStaggerStyles(node,preparationClasses,cacheKey,DETECT_STAGGER_CSS_PROPERTIES);options.$$skipPreparationClasses||$$jqLite.addClass(element,preparationClasses);var applyOnlyDuration;if(options.transitionStyle){var transitionStyle=[TRANSITION_PROP,options.transitionStyle];applyInlineStyle(node,transitionStyle),temporaryStyles.push(transitionStyle)}if(options.duration>=0){applyOnlyDuration=node.style[TRANSITION_PROP].length>0;var durationStyle=getCssTransitionDurationStyle(options.duration,applyOnlyDuration);applyInlineStyle(node,durationStyle),temporaryStyles.push(durationStyle)}if(options.keyframeStyle){var keyframeStyle=[ANIMATION_PROP,options.keyframeStyle];applyInlineStyle(node,keyframeStyle),temporaryStyles.push(keyframeStyle)}var itemIndex=stagger?options.staggerIndex>=0?options.staggerIndex:gcsLookup.count(cacheKey):0,isFirst=0===itemIndex;isFirst&&!options.skipBlocking&&blockTransitions(node,SAFE_FAST_FORWARD_DURATION_VALUE);var timings=computeTimings(node,fullClassName,cacheKey),relativeDelay=timings.maxDelay;maxDelay=Math.max(relativeDelay,0),maxDuration=timings.maxDuration;var flags={};if(flags.hasTransitions=timings.transitionDuration>0,flags.hasAnimations=timings.animationDuration>0,flags.hasTransitionAll=flags.hasTransitions&&"all"===timings.transitionProperty,flags.applyTransitionDuration=hasToStyles&&(flags.hasTransitions&&!flags.hasTransitionAll||flags.hasAnimations&&!flags.hasTransitions),flags.applyAnimationDuration=options.duration&&flags.hasAnimations,flags.applyTransitionDelay=truthyTimingValue(options.delay)&&(flags.applyTransitionDuration||flags.hasTransitions),flags.applyAnimationDelay=truthyTimingValue(options.delay)&&flags.hasAnimations,flags.recalculateTimingStyles=addRemoveClassName.length>0,(flags.applyTransitionDuration||flags.applyAnimationDuration)&&(maxDuration=options.duration?parseFloat(options.duration):maxDuration,flags.applyTransitionDuration&&(flags.hasTransitions=!0,timings.transitionDuration=maxDuration,applyOnlyDuration=node.style[TRANSITION_PROP+PROPERTY_KEY].length>0,temporaryStyles.push(getCssTransitionDurationStyle(maxDuration,applyOnlyDuration))),flags.applyAnimationDuration&&(flags.hasAnimations=!0,timings.animationDuration=maxDuration,temporaryStyles.push(getCssKeyframeDurationStyle(maxDuration)))),0===maxDuration&&!flags.recalculateTimingStyles)return closeAndReturnNoopAnimator();if(null!=options.delay){var delayStyle;"boolean"!=typeof options.delay&&(delayStyle=parseFloat(options.delay),maxDelay=Math.max(delayStyle,0)),flags.applyTransitionDelay&&temporaryStyles.push(getCssDelayStyle(delayStyle)),flags.applyAnimationDelay&&temporaryStyles.push(getCssDelayStyle(delayStyle,!0))}return null==options.duration&&timings.transitionDuration>0&&(flags.recalculateTimingStyles=flags.recalculateTimingStyles||isFirst),maxDelayTime=maxDelay*ONE_SECOND,maxDurationTime=maxDuration*ONE_SECOND,options.skipBlocking||(flags.blockTransition=timings.transitionDuration>0,flags.blockKeyframeAnimation=timings.animationDuration>0&&stagger.animationDelay>0&&0===stagger.animationDuration),options.from&&(options.cleanupStyles&&registerRestorableStyles(restoreStyles,node,Object.keys(options.from)),applyAnimationFromStyles(element,options)),flags.blockTransition||flags.blockKeyframeAnimation?applyBlocking(maxDuration):options.skipBlocking||blockTransitions(node,!1),{$$willAnimate:!0,end:endFn,start:function(){if(!animationClosed)return runnerHost={end:endFn,cancel:cancelFn,resume:null,pause:null},runner=new $$AnimateRunner(runnerHost),waitUntilQuiet(start),runner}}}}]}],$$AnimateCssDriverProvider=["$$animationProvider",function($$animationProvider){function isDocumentFragment(node){return node.parentNode&&11===node.parentNode.nodeType}$$animationProvider.drivers.push("$$animateCssDriver");var NG_ANIMATE_SHIM_CLASS_NAME="ng-animate-shim",NG_ANIMATE_ANCHOR_CLASS_NAME="ng-anchor",NG_OUT_ANCHOR_CLASS_NAME="ng-anchor-out",NG_IN_ANCHOR_CLASS_NAME="ng-anchor-in";this.$get=["$animateCss","$rootScope","$$AnimateRunner","$rootElement","$sniffer","$$jqLite","$document",function($animateCss,$rootScope,$$AnimateRunner,$rootElement,$sniffer,$$jqLite,$document){function filterCssClasses(classes){return classes.replace(/\bng-\S+\b/g,"")}function getUniqueValues(a,b){return isString(a)&&(a=a.split(" ")),isString(b)&&(b=b.split(" ")),a.filter(function(val){return b.indexOf(val)===-1}).join(" ")}function prepareAnchoredAnimation(classes,outAnchor,inAnchor){function calculateAnchorStyles(anchor){var styles={},coords=getDomNode(anchor).getBoundingClientRect();return forEach(["width","height","top","left"],function(key){var value=coords[key];switch(key){case"top":value+=bodyNode.scrollTop;break;case"left":value+=bodyNode.scrollLeft}styles[key]=Math.floor(value)+"px"}),styles}function prepareOutAnimation(){var animator=$animateCss(clone,{addClass:NG_OUT_ANCHOR_CLASS_NAME,delay:!0,from:calculateAnchorStyles(outAnchor)});return animator.$$willAnimate?animator:null}function getClassVal(element){return element.attr("class")||""}function prepareInAnimation(){var endingClasses=filterCssClasses(getClassVal(inAnchor)),toAdd=getUniqueValues(endingClasses,startingClasses),toRemove=getUniqueValues(startingClasses,endingClasses),animator=$animateCss(clone,{to:calculateAnchorStyles(inAnchor),addClass:NG_IN_ANCHOR_CLASS_NAME+" "+toAdd,removeClass:NG_OUT_ANCHOR_CLASS_NAME+" "+toRemove,delay:!0});return animator.$$willAnimate?animator:null}function end(){clone.remove(),outAnchor.removeClass(NG_ANIMATE_SHIM_CLASS_NAME),inAnchor.removeClass(NG_ANIMATE_SHIM_CLASS_NAME)}var clone=jqLite(getDomNode(outAnchor).cloneNode(!0)),startingClasses=filterCssClasses(getClassVal(clone));outAnchor.addClass(NG_ANIMATE_SHIM_CLASS_NAME),inAnchor.addClass(NG_ANIMATE_SHIM_CLASS_NAME),clone.addClass(NG_ANIMATE_ANCHOR_CLASS_NAME),rootBodyElement.append(clone);var animatorIn,animatorOut=prepareOutAnimation();if(!animatorOut&&(animatorIn=prepareInAnimation(),!animatorIn))return end();var startingAnimator=animatorOut||animatorIn;return{start:function(){function endFn(){currentAnimation&&currentAnimation.end()}var runner,currentAnimation=startingAnimator.start();return currentAnimation.done(function(){return currentAnimation=null,!animatorIn&&(animatorIn=prepareInAnimation())?(currentAnimation=animatorIn.start(),currentAnimation.done(function(){currentAnimation=null,end(),runner.complete()}),currentAnimation):(end(),void runner.complete())}),runner=new $$AnimateRunner({end:endFn,cancel:endFn})}}}function prepareFromToAnchorAnimation(from,to,classes,anchors){var fromAnimation=prepareRegularAnimation(from,noop),toAnimation=prepareRegularAnimation(to,noop),anchorAnimations=[];if(forEach(anchors,function(anchor){var outElement=anchor.out,inElement=anchor["in"],animator=prepareAnchoredAnimation(classes,outElement,inElement);animator&&anchorAnimations.push(animator)}),fromAnimation||toAnimation||0!==anchorAnimations.length)return{start:function(){function endFn(){forEach(animationRunners,function(runner){runner.end()})}var animationRunners=[];fromAnimation&&animationRunners.push(fromAnimation.start()),toAnimation&&animationRunners.push(toAnimation.start()),forEach(anchorAnimations,function(animation){animationRunners.push(animation.start())});var runner=new $$AnimateRunner({end:endFn,cancel:endFn});return $$AnimateRunner.all(animationRunners,function(status){runner.complete(status)}),runner}}}function prepareRegularAnimation(animationDetails){var element=animationDetails.element,options=animationDetails.options||{};animationDetails.structural&&(options.event=animationDetails.event,options.structural=!0,options.applyClassesEarly=!0,"leave"===animationDetails.event&&(options.onDone=options.domOperation)),options.preparationClasses&&(options.event=concatWithSpace(options.event,options.preparationClasses));var animator=$animateCss(element,options);return animator.$$willAnimate?animator:null}if(!$sniffer.animations&&!$sniffer.transitions)return noop;var bodyNode=$document[0].body,rootNode=getDomNode($rootElement),rootBodyElement=jqLite(isDocumentFragment(rootNode)||bodyNode.contains(rootNode)?rootNode:bodyNode);return function(animationDetails){return animationDetails.from&&animationDetails.to?prepareFromToAnchorAnimation(animationDetails.from,animationDetails.to,animationDetails.classes,animationDetails.anchors):prepareRegularAnimation(animationDetails)}}]}],$$AnimateJsProvider=["$animateProvider",function($animateProvider){this.$get=["$injector","$$AnimateRunner","$$jqLite",function($injector,$$AnimateRunner,$$jqLite){function lookupAnimations(classes){classes=isArray(classes)?classes:classes.split(" ");for(var matches=[],flagMap={},i=0;i<classes.length;i++){var klass=classes[i],animationFactory=$animateProvider.$$registeredAnimations[klass];animationFactory&&!flagMap[klass]&&(matches.push($injector.get(animationFactory)),flagMap[klass]=!0)}return matches}var applyAnimationClasses=applyAnimationClassesFactory($$jqLite);return function(element,event,classes,options){function applyOptions(){options.domOperation(),applyAnimationClasses(element,options)}function close(){animationClosed=!0,applyOptions(),applyAnimationStyles(element,options)}function executeAnimationFn(fn,element,event,options,onDone){var args;switch(event){case"animate":args=[element,options.from,options.to,onDone];break;case"setClass":args=[element,classesToAdd,classesToRemove,onDone];break;case"addClass":args=[element,classesToAdd,onDone];break;case"removeClass":args=[element,classesToRemove,onDone];break;default:args=[element,onDone]}args.push(options);var value=fn.apply(fn,args);if(value)if(isFunction(value.start)&&(value=value.start()),value instanceof $$AnimateRunner)value.done(onDone);else if(isFunction(value))return value;return noop}function groupEventedAnimations(element,event,options,animations,fnName){var operations=[];return forEach(animations,function(ani){var animation=ani[fnName];animation&&operations.push(function(){var runner,endProgressCb,resolved=!1,onAnimationComplete=function(rejected){resolved||(resolved=!0,(endProgressCb||noop)(rejected),runner.complete(!rejected))};return runner=new $$AnimateRunner({end:function(){onAnimationComplete()},cancel:function(){onAnimationComplete(!0)}}),endProgressCb=executeAnimationFn(animation,element,event,options,function(result){var cancelled=result===!1;onAnimationComplete(cancelled)}),runner})}),operations}function packageAnimations(element,event,options,animations,fnName){var operations=groupEventedAnimations(element,event,options,animations,fnName);if(0===operations.length){var a,b;"beforeSetClass"===fnName?(a=groupEventedAnimations(element,"removeClass",options,animations,"beforeRemoveClass"),b=groupEventedAnimations(element,"addClass",options,animations,"beforeAddClass")):"setClass"===fnName&&(a=groupEventedAnimations(element,"removeClass",options,animations,"removeClass"),b=groupEventedAnimations(element,"addClass",options,animations,"addClass")),a&&(operations=operations.concat(a)),b&&(operations=operations.concat(b))}if(0!==operations.length)return function(callback){var runners=[];return operations.length&&forEach(operations,function(animateFn){runners.push(animateFn())}),runners.length?$$AnimateRunner.all(runners,callback):callback(),function(reject){forEach(runners,function(runner){reject?runner.cancel():runner.end()})}}}var animationClosed=!1;3===arguments.length&&isObject(classes)&&(options=classes,classes=null),options=prepareAnimationOptions(options),classes||(classes=element.attr("class")||"",options.addClass&&(classes+=" "+options.addClass),options.removeClass&&(classes+=" "+options.removeClass));var before,after,classesToAdd=options.addClass,classesToRemove=options.removeClass,animations=lookupAnimations(classes);if(animations.length){var afterFn,beforeFn;"leave"===event?(beforeFn="leave",afterFn="afterLeave"):(beforeFn="before"+event.charAt(0).toUpperCase()+event.substr(1),afterFn=event),"enter"!==event&&"move"!==event&&(before=packageAnimations(element,event,options,animations,beforeFn)),after=packageAnimations(element,event,options,animations,afterFn)}if(before||after){var runner;return{$$willAnimate:!0,end:function(){return runner?runner.end():(close(),runner=new $$AnimateRunner,runner.complete(!0)),runner},start:function(){function onComplete(success){close(success),runner.complete(success)}function endAnimations(cancelled){animationClosed||((closeActiveAnimations||noop)(cancelled),onComplete(cancelled))}if(runner)return runner;runner=new $$AnimateRunner;var closeActiveAnimations,chain=[];return before&&chain.push(function(fn){closeActiveAnimations=before(fn)}),chain.length?chain.push(function(fn){applyOptions(),fn(!0)}):applyOptions(),after&&chain.push(function(fn){closeActiveAnimations=after(fn)}),runner.setHost({end:function(){endAnimations()},cancel:function(){endAnimations(!0)}}),$$AnimateRunner.chain(chain,onComplete),runner}}}}}]}],$$AnimateJsDriverProvider=["$$animationProvider",function($$animationProvider){$$animationProvider.drivers.push("$$animateJsDriver"),this.$get=["$$animateJs","$$AnimateRunner",function($$animateJs,$$AnimateRunner){
+function prepareAnimation(animationDetails){var element=animationDetails.element,event=animationDetails.event,options=animationDetails.options,classes=animationDetails.classes;return $$animateJs(element,event,classes,options)}return function(animationDetails){if(animationDetails.from&&animationDetails.to){var fromAnimation=prepareAnimation(animationDetails.from),toAnimation=prepareAnimation(animationDetails.to);if(!fromAnimation&&!toAnimation)return;return{start:function(){function endFnFactory(){return function(){forEach(animationRunners,function(runner){runner.end()})}}function done(status){runner.complete(status)}var animationRunners=[];fromAnimation&&animationRunners.push(fromAnimation.start()),toAnimation&&animationRunners.push(toAnimation.start()),$$AnimateRunner.all(animationRunners,done);var runner=new $$AnimateRunner({end:endFnFactory(),cancel:endFnFactory()});return runner}}}return prepareAnimation(animationDetails)}}]}],NG_ANIMATE_ATTR_NAME="data-ng-animate",NG_ANIMATE_PIN_DATA="$ngAnimatePin",$$AnimateQueueProvider=["$animateProvider",function($animateProvider){function makeTruthyCssClassMap(classString){if(!classString)return null;var keys=classString.split(ONE_SPACE),map=Object.create(null);return forEach(keys,function(key){map[key]=!0}),map}function hasMatchingClasses(newClassString,currentClassString){if(newClassString&&currentClassString){var currentClassMap=makeTruthyCssClassMap(currentClassString);return newClassString.split(ONE_SPACE).some(function(className){return currentClassMap[className]})}}function isAllowed(ruleType,currentAnimation,previousAnimation){return rules[ruleType].some(function(fn){return fn(currentAnimation,previousAnimation)})}function hasAnimationClasses(animation,and){var a=(animation.addClass||"").length>0,b=(animation.removeClass||"").length>0;return and?a&&b:a||b}var PRE_DIGEST_STATE=1,RUNNING_STATE=2,ONE_SPACE=" ",rules=this.rules={skip:[],cancel:[],join:[]};rules.join.push(function(newAnimation,currentAnimation){return!newAnimation.structural&&hasAnimationClasses(newAnimation)}),rules.skip.push(function(newAnimation,currentAnimation){return!newAnimation.structural&&!hasAnimationClasses(newAnimation)}),rules.skip.push(function(newAnimation,currentAnimation){return"leave"===currentAnimation.event&&newAnimation.structural}),rules.skip.push(function(newAnimation,currentAnimation){return currentAnimation.structural&&currentAnimation.state===RUNNING_STATE&&!newAnimation.structural}),rules.cancel.push(function(newAnimation,currentAnimation){return currentAnimation.structural&&newAnimation.structural}),rules.cancel.push(function(newAnimation,currentAnimation){return currentAnimation.state===RUNNING_STATE&&newAnimation.structural}),rules.cancel.push(function(newAnimation,currentAnimation){if(currentAnimation.structural)return!1;var nA=newAnimation.addClass,nR=newAnimation.removeClass,cA=currentAnimation.addClass,cR=currentAnimation.removeClass;return!(isUndefined(nA)&&isUndefined(nR)||isUndefined(cA)&&isUndefined(cR))&&(hasMatchingClasses(nA,cR)||hasMatchingClasses(nR,cA))}),this.$get=["$$rAF","$rootScope","$rootElement","$document","$$Map","$$animation","$$AnimateRunner","$templateRequest","$$jqLite","$$forceReflow","$$isDocumentHidden",function($$rAF,$rootScope,$rootElement,$document,$$Map,$$animation,$$AnimateRunner,$templateRequest,$$jqLite,$$forceReflow,$$isDocumentHidden){function postDigestTaskFactory(){var postDigestCalled=!1;return function(fn){postDigestCalled?fn():$rootScope.$$postDigest(function(){postDigestCalled=!0,fn()})}}function normalizeAnimationDetails(element,animation){return mergeAnimationDetails(element,animation,{})}function findCallbacks(targetParentNode,targetNode,event){var matches=[],entries=callbackRegistry[event];return entries&&forEach(entries,function(entry){contains.call(entry.node,targetNode)?matches.push(entry.callback):"leave"===event&&contains.call(entry.node,targetParentNode)&&matches.push(entry.callback)}),matches}function filterFromRegistry(list,matchContainer,matchCallback){var containerNode=extractElementNode(matchContainer);return list.filter(function(entry){var isMatch=entry.node===containerNode&&(!matchCallback||entry.callback===matchCallback);return!isMatch})}function cleanupEventListeners(phase,node){"close"!==phase||node.parentNode||$animate.off(node)}function queueAnimation(originalElement,event,initialOptions){function notifyProgress(runner,event,phase,data){runInNextPostDigestOrNow(function(){var callbacks=findCallbacks(parentNode,node,event);callbacks.length?$$rAF(function(){forEach(callbacks,function(callback){callback(element,phase,data)}),cleanupEventListeners(phase,node)}):cleanupEventListeners(phase,node)}),runner.progress(event,phase,data)}function close(reject){clearGeneratedClasses(element,options),applyAnimationClasses(element,options),applyAnimationStyles(element,options),options.domOperation(),runner.complete(!reject)}var options=copy(initialOptions),element=stripCommentsFromElement(originalElement),node=getDomNode(element),parentNode=node&&node.parentNode;options=prepareAnimationOptions(options);var runner=new $$AnimateRunner,runInNextPostDigestOrNow=postDigestTaskFactory();if(isArray(options.addClass)&&(options.addClass=options.addClass.join(" ")),options.addClass&&!isString(options.addClass)&&(options.addClass=null),isArray(options.removeClass)&&(options.removeClass=options.removeClass.join(" ")),options.removeClass&&!isString(options.removeClass)&&(options.removeClass=null),options.from&&!isObject(options.from)&&(options.from=null),options.to&&!isObject(options.to)&&(options.to=null),!node)return close(),runner;var className=[node.getAttribute("class"),options.addClass,options.removeClass].join(" ");if(!isAnimatableClassName(className))return close(),runner;var isStructural=["enter","move","leave"].indexOf(event)>=0,documentHidden=$$isDocumentHidden(),skipAnimations=!animationsEnabled||documentHidden||disabledElementsLookup.get(node),existingAnimation=!skipAnimations&&activeAnimationsLookup.get(node)||{},hasExistingAnimation=!!existingAnimation.state;if(skipAnimations||hasExistingAnimation&&existingAnimation.state===PRE_DIGEST_STATE||(skipAnimations=!areAnimationsAllowed(node,parentNode,event)),skipAnimations)return documentHidden&&notifyProgress(runner,event,"start"),close(),documentHidden&&notifyProgress(runner,event,"close"),runner;isStructural&&closeChildAnimations(node);var newAnimation={structural:isStructural,element:element,event:event,addClass:options.addClass,removeClass:options.removeClass,close:close,options:options,runner:runner};if(hasExistingAnimation){var skipAnimationFlag=isAllowed("skip",newAnimation,existingAnimation);if(skipAnimationFlag)return existingAnimation.state===RUNNING_STATE?(close(),runner):(mergeAnimationDetails(element,existingAnimation,newAnimation),existingAnimation.runner);var cancelAnimationFlag=isAllowed("cancel",newAnimation,existingAnimation);if(cancelAnimationFlag)if(existingAnimation.state===RUNNING_STATE)existingAnimation.runner.end();else{if(!existingAnimation.structural)return mergeAnimationDetails(element,existingAnimation,newAnimation),existingAnimation.runner;existingAnimation.close()}else{var joinAnimationFlag=isAllowed("join",newAnimation,existingAnimation);if(joinAnimationFlag){if(existingAnimation.state!==RUNNING_STATE)return applyGeneratedPreparationClasses(element,isStructural?event:null,options),event=newAnimation.event=existingAnimation.event,options=mergeAnimationDetails(element,existingAnimation,newAnimation),existingAnimation.runner;normalizeAnimationDetails(element,newAnimation)}}}else normalizeAnimationDetails(element,newAnimation);var isValidAnimation=newAnimation.structural;if(isValidAnimation||(isValidAnimation="animate"===newAnimation.event&&Object.keys(newAnimation.options.to||{}).length>0||hasAnimationClasses(newAnimation)),!isValidAnimation)return close(),clearElementAnimationState(node),runner;var counter=(existingAnimation.counter||0)+1;return newAnimation.counter=counter,markElementAnimationState(node,PRE_DIGEST_STATE,newAnimation),$rootScope.$$postDigest(function(){element=stripCommentsFromElement(originalElement);var animationDetails=activeAnimationsLookup.get(node),animationCancelled=!animationDetails;animationDetails=animationDetails||{};var parentElement=element.parent()||[],isValidAnimation=parentElement.length>0&&("animate"===animationDetails.event||animationDetails.structural||hasAnimationClasses(animationDetails));if(animationCancelled||animationDetails.counter!==counter||!isValidAnimation)return animationCancelled&&(applyAnimationClasses(element,options),applyAnimationStyles(element,options)),(animationCancelled||isStructural&&animationDetails.event!==event)&&(options.domOperation(),runner.end()),void(isValidAnimation||clearElementAnimationState(node));event=!animationDetails.structural&&hasAnimationClasses(animationDetails,!0)?"setClass":animationDetails.event,markElementAnimationState(node,RUNNING_STATE);var realRunner=$$animation(element,event,animationDetails.options);runner.setHost(realRunner),notifyProgress(runner,event,"start",{}),realRunner.done(function(status){close(!status);var animationDetails=activeAnimationsLookup.get(node);animationDetails&&animationDetails.counter===counter&&clearElementAnimationState(node),notifyProgress(runner,event,"close",{})})}),runner}function closeChildAnimations(node){var children=node.querySelectorAll("["+NG_ANIMATE_ATTR_NAME+"]");forEach(children,function(child){var state=parseInt(child.getAttribute(NG_ANIMATE_ATTR_NAME),10),animationDetails=activeAnimationsLookup.get(child);if(animationDetails)switch(state){case RUNNING_STATE:animationDetails.runner.end();case PRE_DIGEST_STATE:activeAnimationsLookup["delete"](child)}})}function clearElementAnimationState(node){node.removeAttribute(NG_ANIMATE_ATTR_NAME),activeAnimationsLookup["delete"](node)}function areAnimationsAllowed(node,parentNode,event){var animateChildren,bodyNode=$document[0].body,rootNode=getDomNode($rootElement),bodyNodeDetected=node===bodyNode||"HTML"===node.nodeName,rootNodeDetected=node===rootNode,parentAnimationDetected=!1,elementDisabled=disabledElementsLookup.get(node),parentHost=jqLite.data(node,NG_ANIMATE_PIN_DATA);for(parentHost&&(parentNode=getDomNode(parentHost));parentNode&&(rootNodeDetected||(rootNodeDetected=parentNode===rootNode),parentNode.nodeType===ELEMENT_NODE);){var details=activeAnimationsLookup.get(parentNode)||{};if(!parentAnimationDetected){var parentNodeDisabled=disabledElementsLookup.get(parentNode);if(parentNodeDisabled===!0&&elementDisabled!==!1){elementDisabled=!0;break}parentNodeDisabled===!1&&(elementDisabled=!1),parentAnimationDetected=details.structural}if(isUndefined(animateChildren)||animateChildren===!0){var value=jqLite.data(parentNode,NG_ANIMATE_CHILDREN_DATA);isDefined(value)&&(animateChildren=value)}if(parentAnimationDetected&&animateChildren===!1)break;if(bodyNodeDetected||(bodyNodeDetected=parentNode===bodyNode),bodyNodeDetected&&rootNodeDetected)break;parentNode=rootNodeDetected||!(parentHost=jqLite.data(parentNode,NG_ANIMATE_PIN_DATA))?parentNode.parentNode:getDomNode(parentHost)}var allowAnimation=(!parentAnimationDetected||animateChildren)&&elementDisabled!==!0;return allowAnimation&&rootNodeDetected&&bodyNodeDetected}function markElementAnimationState(node,state,details){details=details||{},details.state=state,node.setAttribute(NG_ANIMATE_ATTR_NAME,state);var oldValue=activeAnimationsLookup.get(node),newValue=oldValue?extend(oldValue,details):details;activeAnimationsLookup.set(node,newValue)}var activeAnimationsLookup=new $$Map,disabledElementsLookup=new $$Map,animationsEnabled=null,deregisterWatch=$rootScope.$watch(function(){return 0===$templateRequest.totalPendingRequests},function(isEmpty){isEmpty&&(deregisterWatch(),$rootScope.$$postDigest(function(){$rootScope.$$postDigest(function(){null===animationsEnabled&&(animationsEnabled=!0)})}))}),callbackRegistry=Object.create(null),classNameFilter=$animateProvider.classNameFilter(),isAnimatableClassName=classNameFilter?function(className){return classNameFilter.test(className)}:function(){return!0},applyAnimationClasses=applyAnimationClassesFactory($$jqLite),contains=window.Node.prototype.contains||function(arg){return this===arg||!!(16&this.compareDocumentPosition(arg))},$animate={on:function(event,container,callback){var node=extractElementNode(container);callbackRegistry[event]=callbackRegistry[event]||[],callbackRegistry[event].push({node:node,callback:callback}),jqLite(container).on("$destroy",function(){var animationDetails=activeAnimationsLookup.get(node);animationDetails||$animate.off(event,container,callback)})},off:function(event,container,callback){if(1!==arguments.length||isString(arguments[0])){var entries=callbackRegistry[event];entries&&(callbackRegistry[event]=1===arguments.length?null:filterFromRegistry(entries,container,callback))}else{container=arguments[0];for(var eventType in callbackRegistry)callbackRegistry[eventType]=filterFromRegistry(callbackRegistry[eventType],container)}},pin:function(element,parentElement){assertArg(isElement(element),"element","not an element"),assertArg(isElement(parentElement),"parentElement","not an element"),element.data(NG_ANIMATE_PIN_DATA,parentElement)},push:function(element,event,options,domOperation){return options=options||{},options.domOperation=domOperation,queueAnimation(element,event,options)},enabled:function(element,bool){var argCount=arguments.length;if(0===argCount)bool=!!animationsEnabled;else{var hasElement=isElement(element);if(hasElement){var node=getDomNode(element);1===argCount?bool=!disabledElementsLookup.get(node):disabledElementsLookup.set(node,!bool)}else bool=animationsEnabled=!!element}return bool}};return $animate}]}],$$AnimationProvider=["$animateProvider",function($animateProvider){function setRunner(element,runner){element.data(RUNNER_STORAGE_KEY,runner)}function removeRunner(element){element.removeData(RUNNER_STORAGE_KEY)}function getRunner(element){return element.data(RUNNER_STORAGE_KEY)}var NG_ANIMATE_REF_ATTR="ng-animate-ref",drivers=this.drivers=[],RUNNER_STORAGE_KEY="$$animationRunner";this.$get=["$$jqLite","$rootScope","$injector","$$AnimateRunner","$$Map","$$rAFScheduler",function($$jqLite,$rootScope,$injector,$$AnimateRunner,$$Map,$$rAFScheduler){function sortAnimations(animations){function processNode(entry){if(entry.processed)return entry;entry.processed=!0;var elementNode=entry.domNode,parentNode=elementNode.parentNode;lookup.set(elementNode,entry);for(var parentEntry;parentNode;){if(parentEntry=lookup.get(parentNode)){parentEntry.processed||(parentEntry=processNode(parentEntry));break}parentNode=parentNode.parentNode}return(parentEntry||tree).children.push(entry),entry}function flatten(tree){var i,result=[],queue=[];for(i=0;i<tree.children.length;i++)queue.push(tree.children[i]);var remainingLevelEntries=queue.length,nextLevelEntries=0,row=[];for(i=0;i<queue.length;i++){var entry=queue[i];remainingLevelEntries<=0&&(remainingLevelEntries=nextLevelEntries,nextLevelEntries=0,result.push(row),row=[]),row.push(entry.fn),entry.children.forEach(function(childEntry){nextLevelEntries++,queue.push(childEntry)}),remainingLevelEntries--}return row.length&&result.push(row),result}var i,tree={children:[]},lookup=new $$Map;for(i=0;i<animations.length;i++){var animation=animations[i];lookup.set(animation.domNode,animations[i]={domNode:animation.domNode,fn:animation.fn,children:[]})}for(i=0;i<animations.length;i++)processNode(animations[i]);return flatten(tree)}var animationQueue=[],applyAnimationClasses=applyAnimationClassesFactory($$jqLite);return function(element,event,options){function getAnchorNodes(node){var SELECTOR="["+NG_ANIMATE_REF_ATTR+"]",items=node.hasAttribute(NG_ANIMATE_REF_ATTR)?[node]:node.querySelectorAll(SELECTOR),anchors=[];return forEach(items,function(node){var attr=node.getAttribute(NG_ANIMATE_REF_ATTR);attr&&attr.length&&anchors.push(node)}),anchors}function groupAnimations(animations){var preparedAnimations=[],refLookup={};forEach(animations,function(animation,index){var element=animation.element,node=getDomNode(element),event=animation.event,enterOrMove=["enter","move"].indexOf(event)>=0,anchorNodes=animation.structural?getAnchorNodes(node):[];if(anchorNodes.length){var direction=enterOrMove?"to":"from";forEach(anchorNodes,function(anchor){var key=anchor.getAttribute(NG_ANIMATE_REF_ATTR);refLookup[key]=refLookup[key]||{},refLookup[key][direction]={animationID:index,element:jqLite(anchor)}})}else preparedAnimations.push(animation)});var usedIndicesLookup={},anchorGroups={};return forEach(refLookup,function(operations,key){var from=operations.from,to=operations.to;if(!from||!to){var index=from?from.animationID:to.animationID,indexKey=index.toString();return void(usedIndicesLookup[indexKey]||(usedIndicesLookup[indexKey]=!0,preparedAnimations.push(animations[index])))}var fromAnimation=animations[from.animationID],toAnimation=animations[to.animationID],lookupKey=from.animationID.toString();if(!anchorGroups[lookupKey]){var group=anchorGroups[lookupKey]={structural:!0,beforeStart:function(){fromAnimation.beforeStart(),toAnimation.beforeStart()},close:function(){fromAnimation.close(),toAnimation.close()},classes:cssClassesIntersection(fromAnimation.classes,toAnimation.classes),from:fromAnimation,to:toAnimation,anchors:[]};group.classes.length?preparedAnimations.push(group):(preparedAnimations.push(fromAnimation),preparedAnimations.push(toAnimation))}anchorGroups[lookupKey].anchors.push({out:from.element,"in":to.element})}),preparedAnimations}function cssClassesIntersection(a,b){a=a.split(" "),b=b.split(" ");for(var matches=[],i=0;i<a.length;i++){var aa=a[i];if("ng-"!==aa.substring(0,3))for(var j=0;j<b.length;j++)if(aa===b[j]){matches.push(aa);break}}return matches.join(" ")}function invokeFirstDriver(animationDetails){for(var i=drivers.length-1;i>=0;i--){var driverName=drivers[i],factory=$injector.get(driverName),driver=factory(animationDetails);if(driver)return driver}}function beforeStart(){element.addClass(NG_ANIMATE_CLASSNAME),tempClasses&&$$jqLite.addClass(element,tempClasses),prepareClassName&&($$jqLite.removeClass(element,prepareClassName),prepareClassName=null)}function updateAnimationRunners(animation,newRunner){function update(element){var runner=getRunner(element);runner&&runner.setHost(newRunner)}animation.from&&animation.to?(update(animation.from.element),update(animation.to.element)):update(animation.element)}function handleDestroyedElement(){var runner=getRunner(element);!runner||"leave"===event&&options.$$domOperationFired||runner.end()}function close(rejected){element.off("$destroy",handleDestroyedElement),removeRunner(element),applyAnimationClasses(element,options),applyAnimationStyles(element,options),options.domOperation(),tempClasses&&$$jqLite.removeClass(element,tempClasses),element.removeClass(NG_ANIMATE_CLASSNAME),runner.complete(!rejected)}options=prepareAnimationOptions(options);var isStructural=["enter","move","leave"].indexOf(event)>=0,runner=new $$AnimateRunner({end:function(){close()},cancel:function(){close(!0)}});if(!drivers.length)return close(),runner;setRunner(element,runner);var classes=mergeClasses(element.attr("class"),mergeClasses(options.addClass,options.removeClass)),tempClasses=options.tempClasses;tempClasses&&(classes+=" "+tempClasses,options.tempClasses=null);var prepareClassName;return isStructural&&(prepareClassName="ng-"+event+PREPARE_CLASS_SUFFIX,$$jqLite.addClass(element,prepareClassName)),animationQueue.push({element:element,classes:classes,event:event,structural:isStructural,options:options,beforeStart:beforeStart,close:close}),element.on("$destroy",handleDestroyedElement),animationQueue.length>1?runner:($rootScope.$$postDigest(function(){var animations=[];forEach(animationQueue,function(entry){getRunner(entry.element)?animations.push(entry):entry.close()}),animationQueue.length=0;var groupedAnimations=groupAnimations(animations),toBeSortedAnimations=[];forEach(groupedAnimations,function(animationEntry){toBeSortedAnimations.push({domNode:getDomNode(animationEntry.from?animationEntry.from.element:animationEntry.element),fn:function(){animationEntry.beforeStart();var startAnimationFn,closeFn=animationEntry.close,targetElement=animationEntry.anchors?animationEntry.from.element||animationEntry.to.element:animationEntry.element;if(getRunner(targetElement)){var operation=invokeFirstDriver(animationEntry);operation&&(startAnimationFn=operation.start)}if(startAnimationFn){var animationRunner=startAnimationFn();animationRunner.done(function(status){closeFn(!status)}),updateAnimationRunners(animationEntry,animationRunner)}else closeFn()}})}),$$rAFScheduler(sortAnimations(toBeSortedAnimations))}),runner)}}]}],ngAnimateSwapDirective=["$animate","$rootScope",function($animate,$rootScope){return{restrict:"A",transclude:"element",terminal:!0,priority:600,link:function(scope,$element,attrs,ctrl,$transclude){var previousElement,previousScope;scope.$watchCollection(attrs.ngAnimateSwap||attrs["for"],function(value){previousElement&&$animate.leave(previousElement),previousScope&&(previousScope.$destroy(),previousScope=null),(value||0===value)&&(previousScope=scope.$new(),$transclude(previousScope,function(element){previousElement=element,$animate.enter(element,null,$element)}))})}}}];angular.module("ngAnimate",[],function(){noop=angular.noop,copy=angular.copy,extend=angular.extend,jqLite=angular.element,forEach=angular.forEach,isArray=angular.isArray,isString=angular.isString,isObject=angular.isObject,isUndefined=angular.isUndefined,isDefined=angular.isDefined,isFunction=angular.isFunction,isElement=angular.isElement}).info({angularVersion:"1.6.3"}).directive("ngAnimateSwap",ngAnimateSwapDirective).directive("ngAnimateChildren",$$AnimateChildrenDirective).factory("$$rAFScheduler",$$rAFSchedulerFactory).provider("$$animateQueue",$$AnimateQueueProvider).provider("$$animation",$$AnimationProvider).provider("$animateCss",$AnimateCssProvider).provider("$$animateCssDriver",$$AnimateCssDriverProvider).provider("$$animateJs",$$AnimateJsProvider).provider("$$animateJsDriver",$$AnimateJsDriverProvider)}(window,window.angular)},function(module,exports){/**
+ * @license AngularJS v1.6.3
+ * (c) 2010-2017 Google, Inc. http://angularjs.org
+ * License: MIT
+ */
+!function(window,angular){"use strict";function $$CookieWriter($document,$log,$browser){function buildCookieString(name,value,options){var path,expires;options=options||{},expires=options.expires,path=angular.isDefined(options.path)?options.path:cookiePath,angular.isUndefined(value)&&(expires="Thu, 01 Jan 1970 00:00:00 GMT",value=""),angular.isString(expires)&&(expires=new Date(expires));var str=encodeURIComponent(name)+"="+encodeURIComponent(value);str+=path?";path="+path:"",str+=options.domain?";domain="+options.domain:"",str+=expires?";expires="+expires.toUTCString():"",str+=options.secure?";secure":"";var cookieLength=str.length+1;return cookieLength>4096&&$log.warn("Cookie '"+name+"' possibly not set or overflowed because it was too large ("+cookieLength+" > 4096 bytes)!"),str}var cookiePath=$browser.baseHref(),rawDocument=$document[0];return function(name,value,options){rawDocument.cookie=buildCookieString(name,value,options)}}angular.module("ngCookies",["ng"]).info({angularVersion:"1.6.3"}).provider("$cookies",[function(){function calcOptions(options){return options?angular.extend({},defaults,options):defaults}var defaults=this.defaults={};this.$get=["$$cookieReader","$$cookieWriter",function($$cookieReader,$$cookieWriter){return{get:function(key){return $$cookieReader()[key]},getObject:function(key){var value=this.get(key);return value?angular.fromJson(value):value},getAll:function(){return $$cookieReader()},put:function(key,value,options){$$cookieWriter(key,value,calcOptions(options))},putObject:function(key,value,options){this.put(key,angular.toJson(value),options)},remove:function(key,options){$$cookieWriter(key,void 0,calcOptions(options))}}}]}]),angular.module("ngCookies").factory("$cookieStore",["$cookies",function($cookies){return{get:function(key){return $cookies.getObject(key)},put:function(key,value){$cookies.putObject(key,value)},remove:function(key){$cookies.remove(key)}}}]),$$CookieWriter.$inject=["$document","$log","$browser"],angular.module("ngCookies").provider("$$cookieWriter",function(){this.$get=$$CookieWriter})}(window,window.angular)},function(module,exports){/**
+ * @license AngularJS v1.6.3
+ * (c) 2010-2017 Google, Inc. http://angularjs.org
+ * License: MIT
+ */
+!function(window,angular){"use strict";function isValidDottedPath(path){return null!=path&&""!==path&&"hasOwnProperty"!==path&&MEMBER_NAME_REGEX.test("."+path)}function lookupDottedPath(obj,path){if(!isValidDottedPath(path))throw $resourceMinErr("badmember",'Dotted member path "@{0}" is invalid.',path);for(var keys=path.split("."),i=0,ii=keys.length;i<ii&&angular.isDefined(obj);i++){var key=keys[i];obj=null!==obj?obj[key]:void 0}return obj}function shallowClearAndCopy(src,dst){dst=dst||{},angular.forEach(dst,function(value,key){delete dst[key]});for(var key in src)!src.hasOwnProperty(key)||"$"===key.charAt(0)&&"$"===key.charAt(1)||(dst[key]=src[key]);return dst}var $resourceMinErr=angular.$$minErr("$resource"),MEMBER_NAME_REGEX=/^(\.[a-zA-Z_$@][0-9a-zA-Z_$@]*)+$/;angular.module("ngResource",["ng"]).info({angularVersion:"1.6.3"}).provider("$resource",function(){var PROTOCOL_AND_IPV6_REGEX=/^https?:\/\/\[[^\]]*][^\/]*/,provider=this;this.defaults={stripTrailingSlashes:!0,cancellable:!1,actions:{get:{method:"GET"},save:{method:"POST"},query:{method:"GET",isArray:!0},remove:{method:"DELETE"},"delete":{method:"DELETE"}}},this.$get=["$http","$log","$q","$timeout",function($http,$log,$q,$timeout){function Route(template,defaults){this.template=template,this.defaults=extend({},provider.defaults,defaults),this.urlParams={}}function resourceFactory(url,paramDefaults,actions,options){function extractParams(data,actionParams){var ids={};return actionParams=extend({},paramDefaults,actionParams),forEach(actionParams,function(value,key){isFunction(value)&&(value=value(data)),ids[key]=value&&value.charAt&&"@"===value.charAt(0)?lookupDottedPath(data,value.substr(1)):value}),ids}function defaultResponseInterceptor(response){return response.resource}function Resource(value){shallowClearAndCopy(value||{},this)}var route=new Route(url,options);return actions=extend({},provider.defaults.actions,actions),Resource.prototype.toJSON=function(){var data=extend({},this);return delete data.$promise,delete data.$resolved,delete data.$cancelRequest,data},forEach(actions,function(action,name){var hasBody=/^(POST|PUT|PATCH)$/i.test(action.method),numericTimeout=action.timeout,cancellable=isDefined(action.cancellable)?action.cancellable:route.defaults.cancellable;numericTimeout&&!isNumber(numericTimeout)&&($log.debug("ngResource:\n  Only numeric values are allowed as `timeout`.\n  Promises are not supported in $resource, because the same value would be used for multiple requests. If you are looking for a way to cancel requests, you should use the `cancellable` option."),delete action.timeout,numericTimeout=null),Resource[name]=function(a1,a2,a3,a4){function cancelRequest(value){promise["catch"](noop),timeoutDeferred.resolve(value)}var data,success,error,params={};switch(arguments.length){case 4:error=a4,success=a3;case 3:case 2:if(!isFunction(a2)){params=a1,data=a2,success=a3;break}if(isFunction(a1)){success=a1,error=a2;break}success=a2,error=a3;case 1:isFunction(a1)?success=a1:hasBody?data=a1:params=a1;break;case 0:break;default:throw $resourceMinErr("badargs","Expected up to 4 arguments [params, data, success, error], got {0} arguments",arguments.length)}var timeoutDeferred,numericTimeoutPromise,isInstanceCall=this instanceof Resource,value=isInstanceCall?data:action.isArray?[]:new Resource(data),httpConfig={},responseInterceptor=action.interceptor&&action.interceptor.response||defaultResponseInterceptor,responseErrorInterceptor=action.interceptor&&action.interceptor.responseError||void 0,hasError=!!error,hasResponseErrorInterceptor=!!responseErrorInterceptor;forEach(action,function(value,key){switch(key){default:httpConfig[key]=copy(value);break;case"params":case"isArray":case"interceptor":case"cancellable":}}),!isInstanceCall&&cancellable&&(timeoutDeferred=$q.defer(),httpConfig.timeout=timeoutDeferred.promise,numericTimeout&&(numericTimeoutPromise=$timeout(timeoutDeferred.resolve,numericTimeout))),hasBody&&(httpConfig.data=data),route.setUrlParams(httpConfig,extend({},extractParams(data,action.params||{}),params),action.url);var promise=$http(httpConfig).then(function(response){var data=response.data;if(data){if(isArray(data)!==!!action.isArray)throw $resourceMinErr("badcfg","Error in resource configuration for action `{0}`. Expected response to contain an {1} but got an {2} (Request: {3} {4})",name,action.isArray?"array":"object",isArray(data)?"array":"object",httpConfig.method,httpConfig.url);if(action.isArray)value.length=0,forEach(data,function(item){"object"==typeof item?value.push(new Resource(item)):value.push(item)});else{var promise=value.$promise;shallowClearAndCopy(data,value),value.$promise=promise}}return response.resource=value,response});return promise=promise["finally"](function(){value.$resolved=!0,!isInstanceCall&&cancellable&&(value.$cancelRequest=noop,$timeout.cancel(numericTimeoutPromise),timeoutDeferred=numericTimeoutPromise=httpConfig.timeout=null)}),promise=promise.then(function(response){var value=responseInterceptor(response);return(success||noop)(value,response.headers,response.status,response.statusText),value},hasError||hasResponseErrorInterceptor?function(response){return hasError&&!hasResponseErrorInterceptor&&promise["catch"](noop),hasError&&error(response),hasResponseErrorInterceptor?responseErrorInterceptor(response):$q.reject(response)}:void 0),isInstanceCall?promise:(value.$promise=promise,value.$resolved=!1,cancellable&&(value.$cancelRequest=cancelRequest),value)},Resource.prototype["$"+name]=function(params,success,error){isFunction(params)&&(error=success,success=params,params={});var result=Resource[name].call(this,params,this,success,error);return result.$promise||result}}),Resource.bind=function(additionalParamDefaults){var extendedParamDefaults=extend({},paramDefaults,additionalParamDefaults);return resourceFactory(url,extendedParamDefaults,actions,options)},Resource}var noop=angular.noop,forEach=angular.forEach,extend=angular.extend,copy=angular.copy,isArray=angular.isArray,isDefined=angular.isDefined,isFunction=angular.isFunction,isNumber=angular.isNumber,encodeUriQuery=angular.$$encodeUriQuery,encodeUriSegment=angular.$$encodeUriSegment;return Route.prototype={setUrlParams:function(config,params,actionUrl){var val,encodedVal,self=this,url=actionUrl||self.template,protocolAndIpv6="",urlParams=self.urlParams=Object.create(null);forEach(url.split(/\W/),function(param){if("hasOwnProperty"===param)throw $resourceMinErr("badname","hasOwnProperty is not a valid parameter name.");!new RegExp("^\\d+$").test(param)&&param&&new RegExp("(^|[^\\\\]):"+param+"(\\W|$)").test(url)&&(urlParams[param]={isQueryParamValue:new RegExp("\\?.*=:"+param+"(?:\\W|$)").test(url)})}),url=url.replace(/\\:/g,":"),url=url.replace(PROTOCOL_AND_IPV6_REGEX,function(match){return protocolAndIpv6=match,""}),params=params||{},forEach(self.urlParams,function(paramInfo,urlParam){val=params.hasOwnProperty(urlParam)?params[urlParam]:self.defaults[urlParam],isDefined(val)&&null!==val?(encodedVal=paramInfo.isQueryParamValue?encodeUriQuery(val,!0):encodeUriSegment(val),url=url.replace(new RegExp(":"+urlParam+"(\\W|$)","g"),function(match,p1){return encodedVal+p1})):url=url.replace(new RegExp("(/?):"+urlParam+"(\\W|$)","g"),function(match,leadingSlashes,tail){return"/"===tail.charAt(0)?tail:leadingSlashes+tail})}),self.defaults.stripTrailingSlashes&&(url=url.replace(/\/+$/,"")||"/"),url=url.replace(/\/\.(?=\w+($|\?))/,"."),config.url=protocolAndIpv6+url.replace(/\/(\\|%5C)\./,"/."),forEach(params,function(value,key){self.urlParams[key]||(config.params=config.params||{},config.params[key]=value)})}},resourceFactory}]})}(window,window.angular)},function(module,exports){!function(){"use strict";function toastr($animate,$injector,$document,$rootScope,$sce,toastrConfig,$q){function active(){return toasts.length}function clear(toast){if(1!==arguments.length||toast)if(toast)remove(toast.toastId);else for(var i=0;i<toasts.length;i++)remove(toasts[i].toastId)}function error(message,title,optionsOverride){var type=_getOptions().iconClasses.error;return _buildNotification(type,message,title,optionsOverride)}function info(message,title,optionsOverride){var type=_getOptions().iconClasses.info;return _buildNotification(type,message,title,optionsOverride)}function success(message,title,optionsOverride){var type=_getOptions().iconClasses.success;return _buildNotification(type,message,title,optionsOverride)}function warning(message,title,optionsOverride){var type=_getOptions().iconClasses.warning;return _buildNotification(type,message,title,optionsOverride)}function refreshTimer(toast,newTime){toast&&toast.isOpened&&toasts.indexOf(toast)>=0&&toast.scope.refreshTimer(newTime)}function remove(toastId,wasClicked){function findToast(toastId){for(var i=0;i<toasts.length;i++)if(toasts[i].toastId===toastId)return toasts[i]}function lastToast(){return!toasts.length}var toast=findToast(toastId);toast&&!toast.deleting&&(toast.deleting=!0,toast.isOpened=!1,$animate.leave(toast.el).then(function(){toast.scope.options.onHidden&&toast.scope.options.onHidden(!!wasClicked,toast),toast.scope.$destroy();var index=toasts.indexOf(toast);delete openToasts[toast.scope.message],toasts.splice(index,1);var maxOpened=toastrConfig.maxOpened;maxOpened&&toasts.length>=maxOpened&&toasts[maxOpened-1].open.resolve(),lastToast()&&(container.remove(),container=null,containerDefer=$q.defer())}))}function _buildNotification(type,message,title,optionsOverride){return angular.isObject(title)&&(optionsOverride=title,title=null),_notify({iconClass:type,message:message,optionsOverride:optionsOverride,title:title})}function _getOptions(){return angular.extend({},toastrConfig)}function _createOrGetContainer(options){if(container)return containerDefer.promise;container=angular.element("<div></div>"),container.attr("id",options.containerId),container.addClass(options.positionClass),container.css({"pointer-events":"auto"});var target=angular.element(document.querySelector(options.target));if(!target||!target.length)throw"Target for toasts doesn't exist";return $animate.enter(container,target).then(function(){containerDefer.resolve()}),containerDefer.promise}function _notify(map){function ifMaxOpenedAndAutoDismiss(){return options.autoDismiss&&options.maxOpened&&toasts.length>options.maxOpened}function createScope(toast,map,options){function generateEvent(event){if(options[event])return function(){options[event](toast)}}options.allowHtml?(toast.scope.allowHtml=!0,toast.scope.title=$sce.trustAsHtml(map.title),toast.scope.message=$sce.trustAsHtml(map.message)):(toast.scope.title=map.title,toast.scope.message=map.message),toast.scope.toastType=toast.iconClass,toast.scope.toastId=toast.toastId,toast.scope.extraData=options.extraData,toast.scope.options={extendedTimeOut:options.extendedTimeOut,messageClass:options.messageClass,onHidden:options.onHidden,onShown:generateEvent("onShown"),onTap:generateEvent("onTap"),progressBar:options.progressBar,tapToDismiss:options.tapToDismiss,timeOut:options.timeOut,titleClass:options.titleClass,toastClass:options.toastClass},options.closeButton&&(toast.scope.options.closeHtml=options.closeHtml)}function createToast(){function cleanOptionsOverride(options){for(var badOptions=["containerId","iconClasses","maxOpened","newestOnTop","positionClass","preventDuplicates","preventOpenDuplicates","templates"],i=0,l=badOptions.length;i<l;i++)delete options[badOptions[i]];return options}var newToast={toastId:index++,isOpened:!1,scope:$rootScope.$new(),open:$q.defer()};return newToast.iconClass=map.iconClass,map.optionsOverride&&(angular.extend(options,cleanOptionsOverride(map.optionsOverride)),newToast.iconClass=map.optionsOverride.iconClass||newToast.iconClass),createScope(newToast,map,options),newToast.el=createToastEl(newToast.scope),newToast}function createToastEl(scope){var angularDomEl=angular.element("<div toast></div>"),$compile=$injector.get("$compile");return $compile(angularDomEl)(scope)}function maxOpenedNotReached(){return options.maxOpened&&toasts.length<=options.maxOpened||!options.maxOpened}function shouldExit(){var isDuplicateOfLast=options.preventDuplicates&&map.message===previousToastMessage,isDuplicateOpen=options.preventOpenDuplicates&&openToasts[map.message];return!(!isDuplicateOfLast&&!isDuplicateOpen)||(previousToastMessage=map.message,openToasts[map.message]=!0,!1)}var options=_getOptions();if(!shouldExit()){var newToast=createToast();if(toasts.push(newToast),ifMaxOpenedAndAutoDismiss())for(var oldToasts=toasts.slice(0,toasts.length-options.maxOpened),i=0,len=oldToasts.length;i<len;i++)remove(oldToasts[i].toastId);return maxOpenedNotReached()&&newToast.open.resolve(),newToast.open.promise.then(function(){_createOrGetContainer(options).then(function(){if(newToast.isOpened=!0,options.newestOnTop)$animate.enter(newToast.el,container).then(function(){newToast.scope.init()});else{var sibling=container[0].lastChild?angular.element(container[0].lastChild):null;$animate.enter(newToast.el,container,sibling).then(function(){newToast.scope.init()})}})}),newToast}}var container,index=0,toasts=[],previousToastMessage="",openToasts={},containerDefer=$q.defer(),toast={active:active,clear:clear,error:error,info:info,remove:remove,success:success,warning:warning,refreshTimer:refreshTimer};return toast}angular.module("toastr",[]).factory("toastr",toastr),toastr.$inject=["$animate","$injector","$document","$rootScope","$sce","toastrConfig","$q"]}(),function(){"use strict";angular.module("toastr").constant("toastrConfig",{allowHtml:!1,autoDismiss:!1,closeButton:!1,closeHtml:"<button>&times;</button>",containerId:"toast-container",extendedTimeOut:1e3,iconClasses:{error:"toast-error",info:"toast-info",success:"toast-success",warning:"toast-warning"},maxOpened:0,messageClass:"toast-message",newestOnTop:!0,onHidden:null,onShown:null,onTap:null,positionClass:"toast-top-right",preventDuplicates:!1,preventOpenDuplicates:!1,progressBar:!1,tapToDismiss:!0,target:"body",templates:{toast:"directives/toast/toast.html",progressbar:"directives/progressbar/progressbar.html"},timeOut:5e3,titleClass:"toast-title",toastClass:"toast"})}(),function(){"use strict";function progressBar(toastrConfig){function linkFunction(scope,element,attrs,toastCtrl){function updateProgress(){var percentage=(hideTime-(new Date).getTime())/currentTimeOut*100;element.css("width",percentage+"%")}var intervalId,currentTimeOut,hideTime;toastCtrl.progressBar=scope,scope.start=function(duration){intervalId&&clearInterval(intervalId),currentTimeOut=parseFloat(duration),hideTime=(new Date).getTime()+currentTimeOut,intervalId=setInterval(updateProgress,10)},scope.stop=function(){intervalId&&clearInterval(intervalId)},scope.$on("$destroy",function(){clearInterval(intervalId)})}return{require:"^toast",templateUrl:function(){return toastrConfig.templates.progressbar},link:linkFunction}}angular.module("toastr").directive("progressBar",progressBar),progressBar.$inject=["toastrConfig"]}(),function(){"use strict";function ToastController(){this.progressBar=null,this.startProgressBar=function(duration){this.progressBar&&this.progressBar.start(duration)},this.stopProgressBar=function(){this.progressBar&&this.progressBar.stop()}}angular.module("toastr").controller("ToastController",ToastController)}(),function(){"use strict";function toast($injector,$interval,toastrConfig,toastr){function toastLinkFunction(scope,element,attrs,toastCtrl){function createTimeout(time){return toastCtrl.startProgressBar(time),$interval(function(){toastCtrl.stopProgressBar(),toastr.remove(scope.toastId)},time,1)}function hideAndStopProgressBar(){scope.progressBar=!1,toastCtrl.stopProgressBar()}function wantsCloseButton(){return scope.options.closeHtml}var timeout;if(scope.toastClass=scope.options.toastClass,scope.titleClass=scope.options.titleClass,scope.messageClass=scope.options.messageClass,scope.progressBar=scope.options.progressBar,wantsCloseButton()){var button=angular.element(scope.options.closeHtml),$compile=$injector.get("$compile");button.addClass("toast-close-button"),button.attr("ng-click","close(true, $event)"),$compile(button)(scope),element.children().prepend(button)}scope.init=function(){scope.options.timeOut&&(timeout=createTimeout(scope.options.timeOut)),scope.options.onShown&&scope.options.onShown()},element.on("mouseenter",function(){hideAndStopProgressBar(),timeout&&$interval.cancel(timeout)}),scope.tapToast=function(){angular.isFunction(scope.options.onTap)&&scope.options.onTap(),scope.options.tapToDismiss&&scope.close(!0)},scope.close=function(wasClicked,$event){$event&&angular.isFunction($event.stopPropagation)&&$event.stopPropagation(),toastr.remove(scope.toastId,wasClicked)},scope.refreshTimer=function(newTime){timeout&&($interval.cancel(timeout),timeout=createTimeout(newTime||scope.options.timeOut))},element.on("mouseleave",function(){0===scope.options.timeOut&&0===scope.options.extendedTimeOut||(scope.$apply(function(){scope.progressBar=scope.options.progressBar}),timeout=createTimeout(scope.options.extendedTimeOut))})}return{templateUrl:function(){return toastrConfig.templates.toast},controller:"ToastController",link:toastLinkFunction}}angular.module("toastr").directive("toast",toast),toast.$inject=["$injector","$interval","toastrConfig","toastr"]}(),angular.module("toastr").run(["$templateCache",function($templateCache){$templateCache.put("directives/progressbar/progressbar.html",'<div class="toast-progress"></div>\n'),$templateCache.put("directives/toast/toast.html",'<div class="{{toastClass}} {{toastType}}" ng-click="tapToast()">\n  <div ng-switch on="allowHtml">\n    <div ng-switch-default ng-if="title" class="{{titleClass}}" aria-label="{{title}}">{{title}}</div>\n    <div ng-switch-default class="{{messageClass}}" aria-label="{{message}}">{{message}}</div>\n    <div ng-switch-when="true" ng-if="title" class="{{titleClass}}" ng-bind-html="title"></div>\n    <div ng-switch-when="true" class="{{messageClass}}" ng-bind-html="message"></div>\n  </div>\n  <progress-bar ng-if="progressBar"></progress-bar>\n</div>\n')}])},function(module,exports){angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.collapse","ui.bootstrap.tabindex","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.isClass","ui.bootstrap.datepicker","ui.bootstrap.position","ui.bootstrap.datepickerPopup","ui.bootstrap.debounce","ui.bootstrap.multiMap","ui.bootstrap.dropdown","ui.bootstrap.stackedMap","ui.bootstrap.modal","ui.bootstrap.paging","ui.bootstrap.pager","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",["uib/template/accordion/accordion-group.html","uib/template/accordion/accordion.html","uib/template/alert/alert.html","uib/template/carousel/carousel.html","uib/template/carousel/slide.html","uib/template/datepicker/datepicker.html","uib/template/datepicker/day.html","uib/template/datepicker/month.html","uib/template/datepicker/year.html","uib/template/datepickerPopup/popup.html","uib/template/modal/window.html","uib/template/pager/pager.html","uib/template/pagination/pagination.html","uib/template/tooltip/tooltip-html-popup.html","uib/template/tooltip/tooltip-popup.html","uib/template/tooltip/tooltip-template-popup.html","uib/template/popover/popover-html.html","uib/template/popover/popover-template.html","uib/template/popover/popover.html","uib/template/progressbar/bar.html","uib/template/progressbar/progress.html","uib/template/progressbar/progressbar.html","uib/template/rating/rating.html","uib/template/tabs/tab.html","uib/template/tabs/tabset.html","uib/template/timepicker/timepicker.html","uib/template/typeahead/typeahead-match.html","uib/template/typeahead/typeahead-popup.html"]),angular.module("ui.bootstrap.collapse",[]).directive("uibCollapse",["$animate","$q","$parse","$injector",function($animate,$q,$parse,$injector){var $animateCss=$injector.has("$animateCss")?$injector.get("$animateCss"):null;return{link:function(scope,element,attrs){function init(){horizontal=!!("horizontal"in attrs),horizontal?(css={width:""},cssTo={width:"0"}):(css={height:""},cssTo={height:"0"}),scope.$eval(attrs.uibCollapse)||element.addClass("in").addClass("collapse").attr("aria-expanded",!0).attr("aria-hidden",!1).css(css)}function getScrollFromElement(element){return horizontal?{width:element.scrollWidth+"px"}:{height:element.scrollHeight+"px"}}function expand(){element.hasClass("collapse")&&element.hasClass("in")||$q.resolve(expandingExpr(scope)).then(function(){element.removeClass("collapse").addClass("collapsing").attr("aria-expanded",!0).attr("aria-hidden",!1),$animateCss?$animateCss(element,{addClass:"in",easing:"ease",css:{overflow:"hidden"},to:getScrollFromElement(element[0])}).start()["finally"](expandDone):$animate.addClass(element,"in",{css:{overflow:"hidden"},to:getScrollFromElement(element[0])}).then(expandDone)},angular.noop)}function expandDone(){element.removeClass("collapsing").addClass("collapse").css(css),expandedExpr(scope)}function collapse(){return element.hasClass("collapse")||element.hasClass("in")?void $q.resolve(collapsingExpr(scope)).then(function(){element.css(getScrollFromElement(element[0])).removeClass("collapse").addClass("collapsing").attr("aria-expanded",!1).attr("aria-hidden",!0),$animateCss?$animateCss(element,{removeClass:"in",to:cssTo}).start()["finally"](collapseDone):$animate.removeClass(element,"in",{to:cssTo}).then(collapseDone)},angular.noop):collapseDone()}function collapseDone(){element.css(cssTo),element.removeClass("collapsing").addClass("collapse"),collapsedExpr(scope)}var expandingExpr=$parse(attrs.expanding),expandedExpr=$parse(attrs.expanded),collapsingExpr=$parse(attrs.collapsing),collapsedExpr=$parse(attrs.collapsed),horizontal=!1,css={},cssTo={};init(),scope.$watch(attrs.uibCollapse,function(shouldCollapse){shouldCollapse?collapse():expand()})}}}]),angular.module("ui.bootstrap.tabindex",[]).directive("uibTabindexToggle",function(){return{restrict:"A",link:function(scope,elem,attrs){attrs.$observe("disabled",function(disabled){attrs.$set("tabindex",disabled?-1:null)})}}}),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse","ui.bootstrap.tabindex"]).constant("uibAccordionConfig",{closeOthers:!0}).controller("UibAccordionController",["$scope","$attrs","uibAccordionConfig",function($scope,$attrs,accordionConfig){this.groups=[],this.closeOthers=function(openGroup){var closeOthers=angular.isDefined($attrs.closeOthers)?$scope.$eval($attrs.closeOthers):accordionConfig.closeOthers;closeOthers&&angular.forEach(this.groups,function(group){group!==openGroup&&(group.isOpen=!1)})},this.addGroup=function(groupScope){var that=this;this.groups.push(groupScope),groupScope.$on("$destroy",function(event){that.removeGroup(groupScope)})},this.removeGroup=function(group){var index=this.groups.indexOf(group);index!==-1&&this.groups.splice(index,1)}}]).directive("uibAccordion",function(){return{controller:"UibAccordionController",controllerAs:"accordion",transclude:!0,templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/accordion/accordion.html"}}}).directive("uibAccordionGroup",function(){return{require:"^uibAccordion",transclude:!0,restrict:"A",templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/accordion/accordion-group.html"},scope:{heading:"@",panelClass:"@?",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(element){this.heading=element}},link:function(scope,element,attrs,accordionCtrl){element.addClass("panel"),accordionCtrl.addGroup(scope),scope.openClass=attrs.openClass||"panel-open",scope.panelClass=attrs.panelClass||"panel-default",scope.$watch("isOpen",function(value){element.toggleClass(scope.openClass,!!value),value&&accordionCtrl.closeOthers(scope)}),scope.toggleOpen=function($event){scope.isDisabled||$event&&32!==$event.which||(scope.isOpen=!scope.isOpen)};var id="accordiongroup-"+scope.$id+"-"+Math.floor(1e4*Math.random());scope.headingId=id+"-tab",scope.panelId=id+"-panel"}}}).directive("uibAccordionHeading",function(){return{transclude:!0,template:"",replace:!0,require:"^uibAccordionGroup",link:function(scope,element,attrs,accordionGroupCtrl,transclude){accordionGroupCtrl.setHeading(transclude(scope,angular.noop))}}}).directive("uibAccordionTransclude",function(){function getHeaderSelectors(){return"uib-accordion-header,data-uib-accordion-header,x-uib-accordion-header,uib\\:accordion-header,[uib-accordion-header],[data-uib-accordion-header],[x-uib-accordion-header]"}return{require:"^uibAccordionGroup",link:function(scope,element,attrs,controller){scope.$watch(function(){return controller[attrs.uibAccordionTransclude]},function(heading){if(heading){var elem=angular.element(element[0].querySelector(getHeaderSelectors()));elem.html(""),elem.append(heading)}})}}}),angular.module("ui.bootstrap.alert",[]).controller("UibAlertController",["$scope","$element","$attrs","$interpolate","$timeout",function($scope,$element,$attrs,$interpolate,$timeout){$scope.closeable=!!$attrs.close,$element.addClass("alert"),$attrs.$set("role","alert"),$scope.closeable&&$element.addClass("alert-dismissible");var dismissOnTimeout=angular.isDefined($attrs.dismissOnTimeout)?$interpolate($attrs.dismissOnTimeout)($scope.$parent):null;dismissOnTimeout&&$timeout(function(){$scope.close()},parseInt(dismissOnTimeout,10))}]).directive("uibAlert",function(){return{controller:"UibAlertController",controllerAs:"alert",restrict:"A",templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/alert/alert.html"},transclude:!0,scope:{close:"&"}}}),angular.module("ui.bootstrap.buttons",[]).constant("uibButtonConfig",{activeClass:"active",toggleEvent:"click"}).controller("UibButtonsController",["uibButtonConfig",function(buttonConfig){this.activeClass=buttonConfig.activeClass||"active",this.toggleEvent=buttonConfig.toggleEvent||"click"}]).directive("uibBtnRadio",["$parse",function($parse){return{require:["uibBtnRadio","ngModel"],controller:"UibButtonsController",controllerAs:"buttons",link:function(scope,element,attrs,ctrls){var buttonsCtrl=ctrls[0],ngModelCtrl=ctrls[1],uncheckableExpr=$parse(attrs.uibUncheckable);element.find("input").css({display:"none"}),ngModelCtrl.$render=function(){element.toggleClass(buttonsCtrl.activeClass,angular.equals(ngModelCtrl.$modelValue,scope.$eval(attrs.uibBtnRadio)))},element.on(buttonsCtrl.toggleEvent,function(){if(!attrs.disabled){var isActive=element.hasClass(buttonsCtrl.activeClass);isActive&&!angular.isDefined(attrs.uncheckable)||scope.$apply(function(){ngModelCtrl.$setViewValue(isActive?null:scope.$eval(attrs.uibBtnRadio)),ngModelCtrl.$render()})}}),attrs.uibUncheckable&&scope.$watch(uncheckableExpr,function(uncheckable){attrs.$set("uncheckable",uncheckable?"":void 0)})}}}]).directive("uibBtnCheckbox",function(){return{require:["uibBtnCheckbox","ngModel"],controller:"UibButtonsController",controllerAs:"button",link:function(scope,element,attrs,ctrls){function getTrueValue(){return getCheckboxValue(attrs.btnCheckboxTrue,!0)}function getFalseValue(){return getCheckboxValue(attrs.btnCheckboxFalse,!1)}function getCheckboxValue(attribute,defaultValue){return angular.isDefined(attribute)?scope.$eval(attribute):defaultValue}var buttonsCtrl=ctrls[0],ngModelCtrl=ctrls[1];element.find("input").css({display:"none"}),ngModelCtrl.$render=function(){element.toggleClass(buttonsCtrl.activeClass,angular.equals(ngModelCtrl.$modelValue,getTrueValue()))},element.on(buttonsCtrl.toggleEvent,function(){attrs.disabled||scope.$apply(function(){ngModelCtrl.$setViewValue(element.hasClass(buttonsCtrl.activeClass)?getFalseValue():getTrueValue()),ngModelCtrl.$render()})})}}}),angular.module("ui.bootstrap.carousel",[]).controller("UibCarouselController",["$scope","$element","$interval","$timeout","$animate",function($scope,$element,$interval,$timeout,$animate){function setActive(index){for(var i=0;i<slides.length;i++)slides[i].slide.active=i===index}function goNext(slide,index,direction){if(!destroyed){if(angular.extend(slide,{direction:direction}),angular.extend(slides[currentIndex].slide||{},{direction:direction}),$animate.enabled($element)&&!$scope.$currentTransition&&slides[index].element&&self.slides.length>1){slides[index].element.data(SLIDE_DIRECTION,slide.direction);var currentIdx=self.getCurrentIndex();angular.isNumber(currentIdx)&&slides[currentIdx].element&&slides[currentIdx].element.data(SLIDE_DIRECTION,slide.direction),$scope.$currentTransition=!0,$animate.on("addClass",slides[index].element,function(element,phase){"close"===phase&&($scope.$currentTransition=null,$animate.off("addClass",element))})}$scope.active=slide.index,currentIndex=slide.index,setActive(index),restartTimer()}}function findSlideIndex(slide){for(var i=0;i<slides.length;i++)if(slides[i].slide===slide)return i}function resetTimer(){currentInterval&&($interval.cancel(currentInterval),currentInterval=null)}function resetTransition(slides){slides.length||($scope.$currentTransition=null)}function restartTimer(){resetTimer();var interval=+$scope.interval;!isNaN(interval)&&interval>0&&(currentInterval=$interval(timerFn,interval))}function timerFn(){var interval=+$scope.interval;isPlaying&&!isNaN(interval)&&interval>0&&slides.length?$scope.next():$scope.pause()}var currentInterval,isPlaying,self=this,slides=self.slides=$scope.slides=[],SLIDE_DIRECTION="uib-slideDirection",currentIndex=$scope.active,destroyed=!1;$element.addClass("carousel"),self.addSlide=function(slide,element){slides.push({slide:slide,element:element}),slides.sort(function(a,b){return+a.slide.index-+b.slide.index}),(slide.index===$scope.active||1===slides.length&&!angular.isNumber($scope.active))&&($scope.$currentTransition&&($scope.$currentTransition=null),currentIndex=slide.index,$scope.active=slide.index,setActive(currentIndex),self.select(slides[findSlideIndex(slide)]),1===slides.length&&$scope.play())},self.getCurrentIndex=function(){for(var i=0;i<slides.length;i++)if(slides[i].slide.index===currentIndex)return i},self.next=$scope.next=function(){var newIndex=(self.getCurrentIndex()+1)%slides.length;return 0===newIndex&&$scope.noWrap()?void $scope.pause():self.select(slides[newIndex],"next")},self.prev=$scope.prev=function(){var newIndex=self.getCurrentIndex()-1<0?slides.length-1:self.getCurrentIndex()-1;return $scope.noWrap()&&newIndex===slides.length-1?void $scope.pause():self.select(slides[newIndex],"prev")},self.removeSlide=function(slide){var index=findSlideIndex(slide);slides.splice(index,1),slides.length>0&&currentIndex===index?index>=slides.length?(currentIndex=slides.length-1,$scope.active=currentIndex,setActive(currentIndex),self.select(slides[slides.length-1])):(currentIndex=index,$scope.active=currentIndex,setActive(currentIndex),self.select(slides[index])):currentIndex>index&&(currentIndex--,$scope.active=currentIndex),0===slides.length&&(currentIndex=null,$scope.active=null)},self.select=$scope.select=function(nextSlide,direction){var nextIndex=findSlideIndex(nextSlide.slide);void 0===direction&&(direction=nextIndex>self.getCurrentIndex()?"next":"prev"),nextSlide.slide.index===currentIndex||$scope.$currentTransition||goNext(nextSlide.slide,nextIndex,direction)},$scope.indexOfSlide=function(slide){return+slide.slide.index},$scope.isActive=function(slide){return $scope.active===slide.slide.index},$scope.isPrevDisabled=function(){return 0===$scope.active&&$scope.noWrap()},$scope.isNextDisabled=function(){return $scope.active===slides.length-1&&$scope.noWrap()},$scope.pause=function(){$scope.noPause||(isPlaying=!1,resetTimer())},$scope.play=function(){isPlaying||(isPlaying=!0,restartTimer())},$element.on("mouseenter",$scope.pause),$element.on("mouseleave",$scope.play),$scope.$on("$destroy",function(){destroyed=!0,resetTimer()}),$scope.$watch("noTransition",function(noTransition){$animate.enabled($element,!noTransition);
+}),$scope.$watch("interval",restartTimer),$scope.$watchCollection("slides",resetTransition),$scope.$watch("active",function(index){if(angular.isNumber(index)&&currentIndex!==index){for(var i=0;i<slides.length;i++)if(slides[i].slide.index===index){index=i;break}var slide=slides[index];slide&&(setActive(index),self.select(slides[index]),currentIndex=index)}})}]).directive("uibCarousel",function(){return{transclude:!0,controller:"UibCarouselController",controllerAs:"carousel",restrict:"A",templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/carousel/carousel.html"},scope:{active:"=",interval:"=",noTransition:"=",noPause:"=",noWrap:"&"}}}).directive("uibSlide",["$animate",function($animate){return{require:"^uibCarousel",restrict:"A",transclude:!0,templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/carousel/slide.html"},scope:{actual:"=?",index:"=?"},link:function(scope,element,attrs,carouselCtrl){element.addClass("item"),carouselCtrl.addSlide(scope,element),scope.$on("$destroy",function(){carouselCtrl.removeSlide(scope)}),scope.$watch("active",function(active){$animate[active?"addClass":"removeClass"](element,"active")})}}}]).animation(".item",["$animateCss",function($animateCss){function removeClass(element,className,callback){element.removeClass(className),callback&&callback()}var SLIDE_DIRECTION="uib-slideDirection";return{beforeAddClass:function(element,className,done){if("active"===className){var stopped=!1,direction=element.data(SLIDE_DIRECTION),directionClass="next"===direction?"left":"right",removeClassFn=removeClass.bind(this,element,directionClass+" "+direction,done);return element.addClass(direction),$animateCss(element,{addClass:directionClass}).start().done(removeClassFn),function(){stopped=!0}}done()},beforeRemoveClass:function(element,className,done){if("active"===className){var stopped=!1,direction=element.data(SLIDE_DIRECTION),directionClass="next"===direction?"left":"right",removeClassFn=removeClass.bind(this,element,directionClass,done);return $animateCss(element,{addClass:directionClass}).start().done(removeClassFn),function(){stopped=!0}}done()}}}]),angular.module("ui.bootstrap.dateparser",[]).service("uibDateParser",["$log","$locale","dateFilter","orderByFilter","filterFilter",function($log,$locale,dateFilter,orderByFilter,filterFilter){function getFormatCodeToRegex(key){return filterFilter(formatCodeToRegex,{key:key},!0)[0]}function createParser(format){var map=[],regex=format.split(""),quoteIndex=format.indexOf("'");if(quoteIndex>-1){var inLiteral=!1;format=format.split("");for(var i=quoteIndex;i<format.length;i++)inLiteral?("'"===format[i]&&(i+1<format.length&&"'"===format[i+1]?(format[i+1]="$",regex[i+1]=""):(regex[i]="",inLiteral=!1)),format[i]="$"):"'"===format[i]&&(format[i]="$",regex[i]="",inLiteral=!0);format=format.join("")}return angular.forEach(formatCodeToRegex,function(data){var index=format.indexOf(data.key);if(index>-1){format=format.split(""),regex[index]="("+data.regex+")",format[index]="$";for(var i=index+1,n=index+data.key.length;i<n;i++)regex[i]="",format[i]="$";format=format.join(""),map.push({index:index,key:data.key,apply:data.apply,matcher:data.regex})}}),{regex:new RegExp("^"+regex.join("")+"$"),map:orderByFilter(map,"index")}}function createFormatter(format){for(var formatter,literalIdx,formatters=[],i=0;i<format.length;)if(angular.isNumber(literalIdx)){if("'"===format.charAt(i))(i+1>=format.length||"'"!==format.charAt(i+1))&&(formatters.push(constructLiteralFormatter(format,literalIdx,i)),literalIdx=null);else if(i===format.length)for(;literalIdx<format.length;)formatter=constructFormatterFromIdx(format,literalIdx),formatters.push(formatter),literalIdx=formatter.endIdx;i++}else"'"!==format.charAt(i)?(formatter=constructFormatterFromIdx(format,i),formatters.push(formatter.parser),i=formatter.endIdx):(literalIdx=i,i++);return formatters}function constructLiteralFormatter(format,literalIdx,endIdx){return function(){return format.substr(literalIdx+1,endIdx-literalIdx-1)}}function constructFormatterFromIdx(format,i){for(var currentPosStr=format.substr(i),j=0;j<formatCodeToRegex.length;j++)if(new RegExp("^"+formatCodeToRegex[j].key).test(currentPosStr)){var data=formatCodeToRegex[j];return{endIdx:i+data.key.length,parser:data.formatter}}return{endIdx:i+1,parser:function(){return currentPosStr.charAt(0)}}}function isValid(year,month,date){return!(date<1)&&(1===month&&date>28?29===date&&(year%4===0&&year%100!==0||year%400===0):3!==month&&5!==month&&8!==month&&10!==month||date<31)}function toInt(str){return parseInt(str,10)}function toTimezone(date,timezone){return date&&timezone?convertTimezoneToLocal(date,timezone):date}function fromTimezone(date,timezone){return date&&timezone?convertTimezoneToLocal(date,timezone,!0):date}function timezoneToOffset(timezone,fallback){timezone=timezone.replace(/:/g,"");var requestedTimezoneOffset=Date.parse("Jan 01, 1970 00:00:00 "+timezone)/6e4;return isNaN(requestedTimezoneOffset)?fallback:requestedTimezoneOffset}function addDateMinutes(date,minutes){return date=new Date(date.getTime()),date.setMinutes(date.getMinutes()+minutes),date}function convertTimezoneToLocal(date,timezone,reverse){reverse=reverse?-1:1;var dateTimezoneOffset=date.getTimezoneOffset(),timezoneOffset=timezoneToOffset(timezone,dateTimezoneOffset);return addDateMinutes(date,reverse*(timezoneOffset-dateTimezoneOffset))}var localeId,formatCodeToRegex,SPECIAL_CHARACTERS_REGEXP=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;this.init=function(){localeId=$locale.id,this.parsers={},this.formatters={},formatCodeToRegex=[{key:"yyyy",regex:"\\d{4}",apply:function(value){this.year=+value},formatter:function(date){var _date=new Date;return _date.setFullYear(Math.abs(date.getFullYear())),dateFilter(_date,"yyyy")}},{key:"yy",regex:"\\d{2}",apply:function(value){value=+value,this.year=value<69?value+2e3:value+1900},formatter:function(date){var _date=new Date;return _date.setFullYear(Math.abs(date.getFullYear())),dateFilter(_date,"yy")}},{key:"y",regex:"\\d{1,4}",apply:function(value){this.year=+value},formatter:function(date){var _date=new Date;return _date.setFullYear(Math.abs(date.getFullYear())),dateFilter(_date,"y")}},{key:"M!",regex:"0?[1-9]|1[0-2]",apply:function(value){this.month=value-1},formatter:function(date){var value=date.getMonth();return/^[0-9]$/.test(value)?dateFilter(date,"MM"):dateFilter(date,"M")}},{key:"MMMM",regex:$locale.DATETIME_FORMATS.MONTH.join("|"),apply:function(value){this.month=$locale.DATETIME_FORMATS.MONTH.indexOf(value)},formatter:function(date){return dateFilter(date,"MMMM")}},{key:"MMM",regex:$locale.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(value){this.month=$locale.DATETIME_FORMATS.SHORTMONTH.indexOf(value)},formatter:function(date){return dateFilter(date,"MMM")}},{key:"MM",regex:"0[1-9]|1[0-2]",apply:function(value){this.month=value-1},formatter:function(date){return dateFilter(date,"MM")}},{key:"M",regex:"[1-9]|1[0-2]",apply:function(value){this.month=value-1},formatter:function(date){return dateFilter(date,"M")}},{key:"d!",regex:"[0-2]?[0-9]{1}|3[0-1]{1}",apply:function(value){this.date=+value},formatter:function(date){var value=date.getDate();return/^[1-9]$/.test(value)?dateFilter(date,"dd"):dateFilter(date,"d")}},{key:"dd",regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(value){this.date=+value},formatter:function(date){return dateFilter(date,"dd")}},{key:"d",regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(value){this.date=+value},formatter:function(date){return dateFilter(date,"d")}},{key:"EEEE",regex:$locale.DATETIME_FORMATS.DAY.join("|"),formatter:function(date){return dateFilter(date,"EEEE")}},{key:"EEE",regex:$locale.DATETIME_FORMATS.SHORTDAY.join("|"),formatter:function(date){return dateFilter(date,"EEE")}},{key:"HH",regex:"(?:0|1)[0-9]|2[0-3]",apply:function(value){this.hours=+value},formatter:function(date){return dateFilter(date,"HH")}},{key:"hh",regex:"0[0-9]|1[0-2]",apply:function(value){this.hours=+value},formatter:function(date){return dateFilter(date,"hh")}},{key:"H",regex:"1?[0-9]|2[0-3]",apply:function(value){this.hours=+value},formatter:function(date){return dateFilter(date,"H")}},{key:"h",regex:"[0-9]|1[0-2]",apply:function(value){this.hours=+value},formatter:function(date){return dateFilter(date,"h")}},{key:"mm",regex:"[0-5][0-9]",apply:function(value){this.minutes=+value},formatter:function(date){return dateFilter(date,"mm")}},{key:"m",regex:"[0-9]|[1-5][0-9]",apply:function(value){this.minutes=+value},formatter:function(date){return dateFilter(date,"m")}},{key:"sss",regex:"[0-9][0-9][0-9]",apply:function(value){this.milliseconds=+value},formatter:function(date){return dateFilter(date,"sss")}},{key:"ss",regex:"[0-5][0-9]",apply:function(value){this.seconds=+value},formatter:function(date){return dateFilter(date,"ss")}},{key:"s",regex:"[0-9]|[1-5][0-9]",apply:function(value){this.seconds=+value},formatter:function(date){return dateFilter(date,"s")}},{key:"a",regex:$locale.DATETIME_FORMATS.AMPMS.join("|"),apply:function(value){12===this.hours&&(this.hours=0),"PM"===value&&(this.hours+=12)},formatter:function(date){return dateFilter(date,"a")}},{key:"Z",regex:"[+-]\\d{4}",apply:function(value){var matches=value.match(/([+-])(\d{2})(\d{2})/),sign=matches[1],hours=matches[2],minutes=matches[3];this.hours+=toInt(sign+hours),this.minutes+=toInt(sign+minutes)},formatter:function(date){return dateFilter(date,"Z")}},{key:"ww",regex:"[0-4][0-9]|5[0-3]",formatter:function(date){return dateFilter(date,"ww")}},{key:"w",regex:"[0-9]|[1-4][0-9]|5[0-3]",formatter:function(date){return dateFilter(date,"w")}},{key:"GGGG",regex:$locale.DATETIME_FORMATS.ERANAMES.join("|").replace(/\s/g,"\\s"),formatter:function(date){return dateFilter(date,"GGGG")}},{key:"GGG",regex:$locale.DATETIME_FORMATS.ERAS.join("|"),formatter:function(date){return dateFilter(date,"GGG")}},{key:"GG",regex:$locale.DATETIME_FORMATS.ERAS.join("|"),formatter:function(date){return dateFilter(date,"GG")}},{key:"G",regex:$locale.DATETIME_FORMATS.ERAS.join("|"),formatter:function(date){return dateFilter(date,"G")}}],angular.version.major>=1&&angular.version.minor>4&&formatCodeToRegex.push({key:"LLLL",regex:$locale.DATETIME_FORMATS.STANDALONEMONTH.join("|"),apply:function(value){this.month=$locale.DATETIME_FORMATS.STANDALONEMONTH.indexOf(value)},formatter:function(date){return dateFilter(date,"LLLL")}})},this.init(),this.getParser=function(key){var f=getFormatCodeToRegex(key);return f&&f.apply||null},this.overrideParser=function(key,parser){var f=getFormatCodeToRegex(key);f&&angular.isFunction(parser)&&(this.parsers={},f.apply=parser)}.bind(this),this.filter=function(date,format){if(!angular.isDate(date)||isNaN(date)||!format)return"";format=$locale.DATETIME_FORMATS[format]||format,$locale.id!==localeId&&this.init(),this.formatters[format]||(this.formatters[format]=createFormatter(format));var formatters=this.formatters[format];return formatters.reduce(function(str,formatter){return str+formatter(date)},"")},this.parse=function(input,format,baseDate){if(!angular.isString(input)||!format)return input;format=$locale.DATETIME_FORMATS[format]||format,format=format.replace(SPECIAL_CHARACTERS_REGEXP,"\\$&"),$locale.id!==localeId&&this.init(),this.parsers[format]||(this.parsers[format]=createParser(format,"apply"));var parser=this.parsers[format],regex=parser.regex,map=parser.map,results=input.match(regex),tzOffset=!1;if(results&&results.length){var fields,dt;angular.isDate(baseDate)&&!isNaN(baseDate.getTime())?fields={year:baseDate.getFullYear(),month:baseDate.getMonth(),date:baseDate.getDate(),hours:baseDate.getHours(),minutes:baseDate.getMinutes(),seconds:baseDate.getSeconds(),milliseconds:baseDate.getMilliseconds()}:(baseDate&&$log.warn("dateparser:","baseDate is not a valid date"),fields={year:1900,month:0,date:1,hours:0,minutes:0,seconds:0,milliseconds:0});for(var i=1,n=results.length;i<n;i++){var mapper=map[i-1];"Z"===mapper.matcher&&(tzOffset=!0),mapper.apply&&mapper.apply.call(fields,results[i])}var datesetter=tzOffset?Date.prototype.setUTCFullYear:Date.prototype.setFullYear,timesetter=tzOffset?Date.prototype.setUTCHours:Date.prototype.setHours;return isValid(fields.year,fields.month,fields.date)&&(!angular.isDate(baseDate)||isNaN(baseDate.getTime())||tzOffset?(dt=new Date(0),datesetter.call(dt,fields.year,fields.month,fields.date),timesetter.call(dt,fields.hours||0,fields.minutes||0,fields.seconds||0,fields.milliseconds||0)):(dt=new Date(baseDate),datesetter.call(dt,fields.year,fields.month,fields.date),timesetter.call(dt,fields.hours,fields.minutes,fields.seconds,fields.milliseconds))),dt}},this.toTimezone=toTimezone,this.fromTimezone=fromTimezone,this.timezoneToOffset=timezoneToOffset,this.addDateMinutes=addDateMinutes,this.convertTimezoneToLocal=convertTimezoneToLocal}]),angular.module("ui.bootstrap.isClass",[]).directive("uibIsClass",["$animate",function($animate){var ON_REGEXP=/^\s*([\s\S]+?)\s+on\s+([\s\S]+?)\s*$/,IS_REGEXP=/^\s*([\s\S]+?)\s+for\s+([\s\S]+?)\s*$/;return{restrict:"A",compile:function(tElement,tAttrs){function linkFn(scope,element,attrs){linkedScopes.push(scope),instances.push({scope:scope,element:element}),exps.forEach(function(exp,k){addForExp(exp,scope)}),scope.$on("$destroy",removeScope)}function addForExp(exp,scope){var matches=exp.match(IS_REGEXP),clazz=scope.$eval(matches[1]),compareWithExp=matches[2],data=expToData[exp];if(!data){var watchFn=function(compareWithVal){var newActivated=null;instances.some(function(instance){var thisVal=instance.scope.$eval(onExp);if(thisVal===compareWithVal)return newActivated=instance,!0}),data.lastActivated!==newActivated&&(data.lastActivated&&$animate.removeClass(data.lastActivated.element,clazz),newActivated&&$animate.addClass(newActivated.element,clazz),data.lastActivated=newActivated)};expToData[exp]=data={lastActivated:null,scope:scope,watchFn:watchFn,compareWithExp:compareWithExp,watcher:scope.$watch(compareWithExp,watchFn)}}data.watchFn(scope.$eval(compareWithExp))}function removeScope(e){var removedScope=e.targetScope,index=linkedScopes.indexOf(removedScope);if(linkedScopes.splice(index,1),instances.splice(index,1),linkedScopes.length){var newWatchScope=linkedScopes[0];angular.forEach(expToData,function(data){data.scope===removedScope&&(data.watcher=newWatchScope.$watch(data.compareWithExp,data.watchFn),data.scope=newWatchScope)})}else expToData={}}var linkedScopes=[],instances=[],expToData={},onExpMatches=tAttrs.uibIsClass.match(ON_REGEXP),onExp=onExpMatches[2],expsStr=onExpMatches[1],exps=expsStr.split(",");return linkFn}}}]),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.isClass"]).value("$datepickerSuppressError",!1).value("$datepickerLiteralWarning",!0).constant("uibDatepickerConfig",{datepickerMode:"day",formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",maxDate:null,maxMode:"year",minDate:null,minMode:"day",monthColumns:3,ngModelOptions:{},shortcutPropagation:!1,showWeeks:!0,yearColumns:5,yearRows:4}).controller("UibDatepickerController",["$scope","$element","$attrs","$parse","$interpolate","$locale","$log","dateFilter","uibDatepickerConfig","$datepickerLiteralWarning","$datepickerSuppressError","uibDateParser",function($scope,$element,$attrs,$parse,$interpolate,$locale,$log,dateFilter,datepickerConfig,$datepickerLiteralWarning,$datepickerSuppressError,dateParser){function setMode(mode){$scope.datepickerMode=mode,$scope.datepickerOptions.datepickerMode=mode}function extractOptions(ngModelCtrl){var ngModelOptions;if(angular.version.minor<6)ngModelOptions=ngModelCtrl.$options||$scope.datepickerOptions.ngModelOptions||datepickerConfig.ngModelOptions||{},ngModelOptions.getOption=function(key){return ngModelOptions[key]};else{var timezone=ngModelCtrl.$options.getOption("timezone")||($scope.datepickerOptions.ngModelOptions?$scope.datepickerOptions.ngModelOptions.timezone:null)||(datepickerConfig.ngModelOptions?datepickerConfig.ngModelOptions.timezone:null);ngModelOptions=ngModelCtrl.$options.createChild(datepickerConfig.ngModelOptions).createChild($scope.datepickerOptions.ngModelOptions).createChild(ngModelCtrl.$options).createChild({timezone:timezone})}return ngModelOptions}var self=this,ngModelCtrl={$setViewValue:angular.noop},ngModelOptions={},watchListeners=[];$element.addClass("uib-datepicker"),$attrs.$set("role","application"),$scope.datepickerOptions||($scope.datepickerOptions={}),this.modes=["day","month","year"],["customClass","dateDisabled","datepickerMode","formatDay","formatDayHeader","formatDayTitle","formatMonth","formatMonthTitle","formatYear","maxDate","maxMode","minDate","minMode","monthColumns","showWeeks","shortcutPropagation","startingDay","yearColumns","yearRows"].forEach(function(key){switch(key){case"customClass":case"dateDisabled":$scope[key]=$scope.datepickerOptions[key]||angular.noop;break;case"datepickerMode":$scope.datepickerMode=angular.isDefined($scope.datepickerOptions.datepickerMode)?$scope.datepickerOptions.datepickerMode:datepickerConfig.datepickerMode;break;case"formatDay":case"formatDayHeader":case"formatDayTitle":case"formatMonth":case"formatMonthTitle":case"formatYear":self[key]=angular.isDefined($scope.datepickerOptions[key])?$interpolate($scope.datepickerOptions[key])($scope.$parent):datepickerConfig[key];break;case"monthColumns":case"showWeeks":case"shortcutPropagation":case"yearColumns":case"yearRows":self[key]=angular.isDefined($scope.datepickerOptions[key])?$scope.datepickerOptions[key]:datepickerConfig[key];break;case"startingDay":angular.isDefined($scope.datepickerOptions.startingDay)?self.startingDay=$scope.datepickerOptions.startingDay:angular.isNumber(datepickerConfig.startingDay)?self.startingDay=datepickerConfig.startingDay:self.startingDay=($locale.DATETIME_FORMATS.FIRSTDAYOFWEEK+8)%7;break;case"maxDate":case"minDate":$scope.$watch("datepickerOptions."+key,function(value){value?angular.isDate(value)?self[key]=dateParser.fromTimezone(new Date(value),ngModelOptions.getOption("timezone")):($datepickerLiteralWarning&&$log.warn("Literal date support has been deprecated, please switch to date object usage"),self[key]=new Date(dateFilter(value,"medium"))):self[key]=datepickerConfig[key]?dateParser.fromTimezone(new Date(datepickerConfig[key]),ngModelOptions.getOption("timezone")):null,self.refreshView()});break;case"maxMode":case"minMode":$scope.datepickerOptions[key]?$scope.$watch(function(){return $scope.datepickerOptions[key]},function(value){self[key]=$scope[key]=angular.isDefined(value)?value:$scope.datepickerOptions[key],("minMode"===key&&self.modes.indexOf($scope.datepickerOptions.datepickerMode)<self.modes.indexOf(self[key])||"maxMode"===key&&self.modes.indexOf($scope.datepickerOptions.datepickerMode)>self.modes.indexOf(self[key]))&&($scope.datepickerMode=self[key],$scope.datepickerOptions.datepickerMode=self[key])}):self[key]=$scope[key]=datepickerConfig[key]||null}}),$scope.uniqueId="datepicker-"+$scope.$id+"-"+Math.floor(1e4*Math.random()),$scope.disabled=angular.isDefined($attrs.disabled)||!1,angular.isDefined($attrs.ngDisabled)&&watchListeners.push($scope.$parent.$watch($attrs.ngDisabled,function(disabled){$scope.disabled=disabled,self.refreshView()})),$scope.isActive=function(dateObject){return 0===self.compare(dateObject.date,self.activeDate)&&($scope.activeDateId=dateObject.uid,!0)},this.init=function(ngModelCtrl_){ngModelCtrl=ngModelCtrl_,ngModelOptions=extractOptions(ngModelCtrl),$scope.datepickerOptions.initDate?(self.activeDate=dateParser.fromTimezone($scope.datepickerOptions.initDate,ngModelOptions.getOption("timezone"))||new Date,$scope.$watch("datepickerOptions.initDate",function(initDate){initDate&&(ngModelCtrl.$isEmpty(ngModelCtrl.$modelValue)||ngModelCtrl.$invalid)&&(self.activeDate=dateParser.fromTimezone(initDate,ngModelOptions.getOption("timezone")),self.refreshView())})):self.activeDate=new Date;var date=ngModelCtrl.$modelValue?new Date(ngModelCtrl.$modelValue):new Date;this.activeDate=isNaN(date)?dateParser.fromTimezone(new Date,ngModelOptions.getOption("timezone")):dateParser.fromTimezone(date,ngModelOptions.getOption("timezone")),ngModelCtrl.$render=function(){self.render()}},this.render=function(){if(ngModelCtrl.$viewValue){var date=new Date(ngModelCtrl.$viewValue),isValid=!isNaN(date);isValid?this.activeDate=dateParser.fromTimezone(date,ngModelOptions.getOption("timezone")):$datepickerSuppressError||$log.error('Datepicker directive: "ng-model" value must be a Date object')}this.refreshView()},this.refreshView=function(){if(this.element){$scope.selectedDt=null,this._refreshView(),$scope.activeDt&&($scope.activeDateId=$scope.activeDt.uid);var date=ngModelCtrl.$viewValue?new Date(ngModelCtrl.$viewValue):null;date=dateParser.fromTimezone(date,ngModelOptions.getOption("timezone")),ngModelCtrl.$setValidity("dateDisabled",!date||this.element&&!this.isDisabled(date))}},this.createDateObject=function(date,format){var model=ngModelCtrl.$viewValue?new Date(ngModelCtrl.$viewValue):null;model=dateParser.fromTimezone(model,ngModelOptions.getOption("timezone"));var today=new Date;today=dateParser.fromTimezone(today,ngModelOptions.getOption("timezone"));var time=this.compare(date,today),dt={date:date,label:dateParser.filter(date,format),selected:model&&0===this.compare(date,model),disabled:this.isDisabled(date),past:time<0,current:0===time,future:time>0,customClass:this.customClass(date)||null};return model&&0===this.compare(date,model)&&($scope.selectedDt=dt),self.activeDate&&0===this.compare(dt.date,self.activeDate)&&($scope.activeDt=dt),dt},this.isDisabled=function(date){return $scope.disabled||this.minDate&&this.compare(date,this.minDate)<0||this.maxDate&&this.compare(date,this.maxDate)>0||$scope.dateDisabled&&$scope.dateDisabled({date:date,mode:$scope.datepickerMode})},this.customClass=function(date){return $scope.customClass({date:date,mode:$scope.datepickerMode})},this.split=function(arr,size){for(var arrays=[];arr.length>0;)arrays.push(arr.splice(0,size));return arrays},$scope.select=function(date){if($scope.datepickerMode===self.minMode){var dt=ngModelCtrl.$viewValue?dateParser.fromTimezone(new Date(ngModelCtrl.$viewValue),ngModelOptions.getOption("timezone")):new Date(0,0,0,0,0,0,0);dt.setFullYear(date.getFullYear(),date.getMonth(),date.getDate()),dt=dateParser.toTimezone(dt,ngModelOptions.getOption("timezone")),ngModelCtrl.$setViewValue(dt),ngModelCtrl.$render()}else self.activeDate=date,setMode(self.modes[self.modes.indexOf($scope.datepickerMode)-1]),$scope.$emit("uib:datepicker.mode");$scope.$broadcast("uib:datepicker.focus")},$scope.move=function(direction){var year=self.activeDate.getFullYear()+direction*(self.step.years||0),month=self.activeDate.getMonth()+direction*(self.step.months||0);self.activeDate.setFullYear(year,month,1),self.refreshView()},$scope.toggleMode=function(direction){direction=direction||1,$scope.datepickerMode===self.maxMode&&1===direction||$scope.datepickerMode===self.minMode&&direction===-1||(setMode(self.modes[self.modes.indexOf($scope.datepickerMode)+direction]),$scope.$emit("uib:datepicker.mode"))},$scope.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};var focusElement=function(){self.element[0].focus()};$scope.$on("uib:datepicker.focus",focusElement),$scope.keydown=function(evt){var key=$scope.keys[evt.which];if(key&&!evt.shiftKey&&!evt.altKey&&!$scope.disabled)if(evt.preventDefault(),self.shortcutPropagation||evt.stopPropagation(),"enter"===key||"space"===key){if(self.isDisabled(self.activeDate))return;$scope.select(self.activeDate)}else!evt.ctrlKey||"up"!==key&&"down"!==key?(self.handleKeyDown(key,evt),self.refreshView()):$scope.toggleMode("up"===key?1:-1)},$element.on("keydown",function(evt){$scope.$apply(function(){$scope.keydown(evt)})}),$scope.$on("$destroy",function(){for(;watchListeners.length;)watchListeners.shift()()})}]).controller("UibDaypickerController",["$scope","$element","dateFilter",function(scope,$element,dateFilter){function getDaysInMonth(year,month){return 1!==month||year%4!==0||year%100===0&&year%400!==0?DAYS_IN_MONTH[month]:29}function getISO8601WeekNumber(date){var checkDate=new Date(date);checkDate.setDate(checkDate.getDate()+4-(checkDate.getDay()||7));var time=checkDate.getTime();return checkDate.setMonth(0),checkDate.setDate(1),Math.floor(Math.round((time-checkDate)/864e5)/7)+1}var DAYS_IN_MONTH=[31,28,31,30,31,30,31,31,30,31,30,31];this.step={months:1},this.element=$element,this.init=function(ctrl){angular.extend(ctrl,this),scope.showWeeks=ctrl.showWeeks,ctrl.refreshView()},this.getDates=function(startDate,n){for(var date,dates=new Array(n),current=new Date(startDate),i=0;i<n;)date=new Date(current),dates[i++]=date,current.setDate(current.getDate()+1);return dates},this._refreshView=function(){var year=this.activeDate.getFullYear(),month=this.activeDate.getMonth(),firstDayOfMonth=new Date(this.activeDate);firstDayOfMonth.setFullYear(year,month,1);var difference=this.startingDay-firstDayOfMonth.getDay(),numDisplayedFromPreviousMonth=difference>0?7-difference:-difference,firstDate=new Date(firstDayOfMonth);numDisplayedFromPreviousMonth>0&&firstDate.setDate(-numDisplayedFromPreviousMonth+1);for(var days=this.getDates(firstDate,42),i=0;i<42;i++)days[i]=angular.extend(this.createDateObject(days[i],this.formatDay),{secondary:days[i].getMonth()!==month,uid:scope.uniqueId+"-"+i});scope.labels=new Array(7);for(var j=0;j<7;j++)scope.labels[j]={abbr:dateFilter(days[j].date,this.formatDayHeader),full:dateFilter(days[j].date,"EEEE")};if(scope.title=dateFilter(this.activeDate,this.formatDayTitle),scope.rows=this.split(days,7),scope.showWeeks){scope.weekNumbers=[];for(var thursdayIndex=(11-this.startingDay)%7,numWeeks=scope.rows.length,curWeek=0;curWeek<numWeeks;curWeek++)scope.weekNumbers.push(getISO8601WeekNumber(scope.rows[curWeek][thursdayIndex].date))}},this.compare=function(date1,date2){var _date1=new Date(date1.getFullYear(),date1.getMonth(),date1.getDate()),_date2=new Date(date2.getFullYear(),date2.getMonth(),date2.getDate());return _date1.setFullYear(date1.getFullYear()),_date2.setFullYear(date2.getFullYear()),_date1-_date2},this.handleKeyDown=function(key,evt){var date=this.activeDate.getDate();if("left"===key)date-=1;else if("up"===key)date-=7;else if("right"===key)date+=1;else if("down"===key)date+=7;else if("pageup"===key||"pagedown"===key){var month=this.activeDate.getMonth()+("pageup"===key?-1:1);this.activeDate.setMonth(month,1),date=Math.min(getDaysInMonth(this.activeDate.getFullYear(),this.activeDate.getMonth()),date)}else"home"===key?date=1:"end"===key&&(date=getDaysInMonth(this.activeDate.getFullYear(),this.activeDate.getMonth()));this.activeDate.setDate(date)}}]).controller("UibMonthpickerController",["$scope","$element","dateFilter",function(scope,$element,dateFilter){this.step={years:1},this.element=$element,this.init=function(ctrl){angular.extend(ctrl,this),ctrl.refreshView()},this._refreshView=function(){for(var date,months=new Array(12),year=this.activeDate.getFullYear(),i=0;i<12;i++)date=new Date(this.activeDate),date.setFullYear(year,i,1),months[i]=angular.extend(this.createDateObject(date,this.formatMonth),{uid:scope.uniqueId+"-"+i});scope.title=dateFilter(this.activeDate,this.formatMonthTitle),scope.rows=this.split(months,this.monthColumns),scope.yearHeaderColspan=this.monthColumns>3?this.monthColumns-2:1},this.compare=function(date1,date2){var _date1=new Date(date1.getFullYear(),date1.getMonth()),_date2=new Date(date2.getFullYear(),date2.getMonth());return _date1.setFullYear(date1.getFullYear()),_date2.setFullYear(date2.getFullYear()),_date1-_date2},this.handleKeyDown=function(key,evt){var date=this.activeDate.getMonth();if("left"===key)date-=1;else if("up"===key)date-=this.monthColumns;else if("right"===key)date+=1;else if("down"===key)date+=this.monthColumns;else if("pageup"===key||"pagedown"===key){var year=this.activeDate.getFullYear()+("pageup"===key?-1:1);this.activeDate.setFullYear(year)}else"home"===key?date=0:"end"===key&&(date=11);this.activeDate.setMonth(date)}}]).controller("UibYearpickerController",["$scope","$element","dateFilter",function(scope,$element,dateFilter){function getStartingYear(year){return parseInt((year-1)/range,10)*range+1}var columns,range;this.element=$element,this.yearpickerInit=function(){columns=this.yearColumns,range=this.yearRows*columns,this.step={years:range}},this._refreshView=function(){for(var date,years=new Array(range),i=0,start=getStartingYear(this.activeDate.getFullYear());i<range;i++)date=new Date(this.activeDate),date.setFullYear(start+i,0,1),years[i]=angular.extend(this.createDateObject(date,this.formatYear),{uid:scope.uniqueId+"-"+i});scope.title=[years[0].label,years[range-1].label].join(" - "),scope.rows=this.split(years,columns),scope.columns=columns},this.compare=function(date1,date2){return date1.getFullYear()-date2.getFullYear()},this.handleKeyDown=function(key,evt){var date=this.activeDate.getFullYear();"left"===key?date-=1:"up"===key?date-=columns:"right"===key?date+=1:"down"===key?date+=columns:"pageup"===key||"pagedown"===key?date+=("pageup"===key?-1:1)*range:"home"===key?date=getStartingYear(this.activeDate.getFullYear()):"end"===key&&(date=getStartingYear(this.activeDate.getFullYear())+range-1),this.activeDate.setFullYear(date)}}]).directive("uibDatepicker",function(){return{templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/datepicker/datepicker.html"},scope:{datepickerOptions:"=?"},require:["uibDatepicker","^ngModel"],restrict:"A",controller:"UibDatepickerController",controllerAs:"datepicker",link:function(scope,element,attrs,ctrls){var datepickerCtrl=ctrls[0],ngModelCtrl=ctrls[1];datepickerCtrl.init(ngModelCtrl)}}}).directive("uibDaypicker",function(){return{templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/datepicker/day.html"},require:["^uibDatepicker","uibDaypicker"],restrict:"A",controller:"UibDaypickerController",link:function(scope,element,attrs,ctrls){var datepickerCtrl=ctrls[0],daypickerCtrl=ctrls[1];daypickerCtrl.init(datepickerCtrl)}}}).directive("uibMonthpicker",function(){return{templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/datepicker/month.html"},require:["^uibDatepicker","uibMonthpicker"],restrict:"A",controller:"UibMonthpickerController",link:function(scope,element,attrs,ctrls){var datepickerCtrl=ctrls[0],monthpickerCtrl=ctrls[1];monthpickerCtrl.init(datepickerCtrl)}}}).directive("uibYearpicker",function(){return{templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/datepicker/year.html"},require:["^uibDatepicker","uibYearpicker"],restrict:"A",controller:"UibYearpickerController",link:function(scope,element,attrs,ctrls){var ctrl=ctrls[0];angular.extend(ctrl,ctrls[1]),ctrl.yearpickerInit(),ctrl.refreshView()}}}),angular.module("ui.bootstrap.position",[]).factory("$uibPosition",["$document","$window",function($document,$window){var SCROLLBAR_WIDTH,BODY_SCROLLBAR_WIDTH,OVERFLOW_REGEX={normal:/(auto|scroll)/,hidden:/(auto|scroll|hidden)/},PLACEMENT_REGEX={auto:/\s?auto?\s?/i,primary:/^(top|bottom|left|right)$/,secondary:/^(top|bottom|left|right|center)$/,vertical:/^(top|bottom)$/},BODY_REGEX=/(HTML|BODY)/;return{getRawNode:function(elem){return elem.nodeName?elem:elem[0]||elem},parseStyle:function(value){return value=parseFloat(value),isFinite(value)?value:0},offsetParent:function(elem){function isStaticPositioned(el){return"static"===($window.getComputedStyle(el).position||"static")}elem=this.getRawNode(elem);for(var offsetParent=elem.offsetParent||$document[0].documentElement;offsetParent&&offsetParent!==$document[0].documentElement&&isStaticPositioned(offsetParent);)offsetParent=offsetParent.offsetParent;return offsetParent||$document[0].documentElement},scrollbarWidth:function(isBody){if(isBody){if(angular.isUndefined(BODY_SCROLLBAR_WIDTH)){var bodyElem=$document.find("body");bodyElem.addClass("uib-position-body-scrollbar-measure"),BODY_SCROLLBAR_WIDTH=$window.innerWidth-bodyElem[0].clientWidth,
+BODY_SCROLLBAR_WIDTH=isFinite(BODY_SCROLLBAR_WIDTH)?BODY_SCROLLBAR_WIDTH:0,bodyElem.removeClass("uib-position-body-scrollbar-measure")}return BODY_SCROLLBAR_WIDTH}if(angular.isUndefined(SCROLLBAR_WIDTH)){var scrollElem=angular.element('<div class="uib-position-scrollbar-measure"></div>');$document.find("body").append(scrollElem),SCROLLBAR_WIDTH=scrollElem[0].offsetWidth-scrollElem[0].clientWidth,SCROLLBAR_WIDTH=isFinite(SCROLLBAR_WIDTH)?SCROLLBAR_WIDTH:0,scrollElem.remove()}return SCROLLBAR_WIDTH},scrollbarPadding:function(elem){elem=this.getRawNode(elem);var elemStyle=$window.getComputedStyle(elem),paddingRight=this.parseStyle(elemStyle.paddingRight),paddingBottom=this.parseStyle(elemStyle.paddingBottom),scrollParent=this.scrollParent(elem,!1,!0),scrollbarWidth=this.scrollbarWidth(BODY_REGEX.test(scrollParent.tagName));return{scrollbarWidth:scrollbarWidth,widthOverflow:scrollParent.scrollWidth>scrollParent.clientWidth,right:paddingRight+scrollbarWidth,originalRight:paddingRight,heightOverflow:scrollParent.scrollHeight>scrollParent.clientHeight,bottom:paddingBottom+scrollbarWidth,originalBottom:paddingBottom}},isScrollable:function(elem,includeHidden){elem=this.getRawNode(elem);var overflowRegex=includeHidden?OVERFLOW_REGEX.hidden:OVERFLOW_REGEX.normal,elemStyle=$window.getComputedStyle(elem);return overflowRegex.test(elemStyle.overflow+elemStyle.overflowY+elemStyle.overflowX)},scrollParent:function(elem,includeHidden,includeSelf){elem=this.getRawNode(elem);var overflowRegex=includeHidden?OVERFLOW_REGEX.hidden:OVERFLOW_REGEX.normal,documentEl=$document[0].documentElement,elemStyle=$window.getComputedStyle(elem);if(includeSelf&&overflowRegex.test(elemStyle.overflow+elemStyle.overflowY+elemStyle.overflowX))return elem;var excludeStatic="absolute"===elemStyle.position,scrollParent=elem.parentElement||documentEl;if(scrollParent===documentEl||"fixed"===elemStyle.position)return documentEl;for(;scrollParent.parentElement&&scrollParent!==documentEl;){var spStyle=$window.getComputedStyle(scrollParent);if(excludeStatic&&"static"!==spStyle.position&&(excludeStatic=!1),!excludeStatic&&overflowRegex.test(spStyle.overflow+spStyle.overflowY+spStyle.overflowX))break;scrollParent=scrollParent.parentElement}return scrollParent},position:function(elem,includeMagins){elem=this.getRawNode(elem);var elemOffset=this.offset(elem);if(includeMagins){var elemStyle=$window.getComputedStyle(elem);elemOffset.top-=this.parseStyle(elemStyle.marginTop),elemOffset.left-=this.parseStyle(elemStyle.marginLeft)}var parent=this.offsetParent(elem),parentOffset={top:0,left:0};return parent!==$document[0].documentElement&&(parentOffset=this.offset(parent),parentOffset.top+=parent.clientTop-parent.scrollTop,parentOffset.left+=parent.clientLeft-parent.scrollLeft),{width:Math.round(angular.isNumber(elemOffset.width)?elemOffset.width:elem.offsetWidth),height:Math.round(angular.isNumber(elemOffset.height)?elemOffset.height:elem.offsetHeight),top:Math.round(elemOffset.top-parentOffset.top),left:Math.round(elemOffset.left-parentOffset.left)}},offset:function(elem){elem=this.getRawNode(elem);var elemBCR=elem.getBoundingClientRect();return{width:Math.round(angular.isNumber(elemBCR.width)?elemBCR.width:elem.offsetWidth),height:Math.round(angular.isNumber(elemBCR.height)?elemBCR.height:elem.offsetHeight),top:Math.round(elemBCR.top+($window.pageYOffset||$document[0].documentElement.scrollTop)),left:Math.round(elemBCR.left+($window.pageXOffset||$document[0].documentElement.scrollLeft))}},viewportOffset:function(elem,useDocument,includePadding){elem=this.getRawNode(elem),includePadding=includePadding!==!1;var elemBCR=elem.getBoundingClientRect(),offsetBCR={top:0,left:0,bottom:0,right:0},offsetParent=useDocument?$document[0].documentElement:this.scrollParent(elem),offsetParentBCR=offsetParent.getBoundingClientRect();if(offsetBCR.top=offsetParentBCR.top+offsetParent.clientTop,offsetBCR.left=offsetParentBCR.left+offsetParent.clientLeft,offsetParent===$document[0].documentElement&&(offsetBCR.top+=$window.pageYOffset,offsetBCR.left+=$window.pageXOffset),offsetBCR.bottom=offsetBCR.top+offsetParent.clientHeight,offsetBCR.right=offsetBCR.left+offsetParent.clientWidth,includePadding){var offsetParentStyle=$window.getComputedStyle(offsetParent);offsetBCR.top+=this.parseStyle(offsetParentStyle.paddingTop),offsetBCR.bottom-=this.parseStyle(offsetParentStyle.paddingBottom),offsetBCR.left+=this.parseStyle(offsetParentStyle.paddingLeft),offsetBCR.right-=this.parseStyle(offsetParentStyle.paddingRight)}return{top:Math.round(elemBCR.top-offsetBCR.top),bottom:Math.round(offsetBCR.bottom-elemBCR.bottom),left:Math.round(elemBCR.left-offsetBCR.left),right:Math.round(offsetBCR.right-elemBCR.right)}},parsePlacement:function(placement){var autoPlace=PLACEMENT_REGEX.auto.test(placement);return autoPlace&&(placement=placement.replace(PLACEMENT_REGEX.auto,"")),placement=placement.split("-"),placement[0]=placement[0]||"top",PLACEMENT_REGEX.primary.test(placement[0])||(placement[0]="top"),placement[1]=placement[1]||"center",PLACEMENT_REGEX.secondary.test(placement[1])||(placement[1]="center"),autoPlace?placement[2]=!0:placement[2]=!1,placement},positionElements:function(hostElem,targetElem,placement,appendToBody){hostElem=this.getRawNode(hostElem),targetElem=this.getRawNode(targetElem);var targetWidth=angular.isDefined(targetElem.offsetWidth)?targetElem.offsetWidth:targetElem.prop("offsetWidth"),targetHeight=angular.isDefined(targetElem.offsetHeight)?targetElem.offsetHeight:targetElem.prop("offsetHeight");placement=this.parsePlacement(placement);var hostElemPos=appendToBody?this.offset(hostElem):this.position(hostElem),targetElemPos={top:0,left:0,placement:""};if(placement[2]){var viewportOffset=this.viewportOffset(hostElem,appendToBody),targetElemStyle=$window.getComputedStyle(targetElem),adjustedSize={width:targetWidth+Math.round(Math.abs(this.parseStyle(targetElemStyle.marginLeft)+this.parseStyle(targetElemStyle.marginRight))),height:targetHeight+Math.round(Math.abs(this.parseStyle(targetElemStyle.marginTop)+this.parseStyle(targetElemStyle.marginBottom)))};if(placement[0]="top"===placement[0]&&adjustedSize.height>viewportOffset.top&&adjustedSize.height<=viewportOffset.bottom?"bottom":"bottom"===placement[0]&&adjustedSize.height>viewportOffset.bottom&&adjustedSize.height<=viewportOffset.top?"top":"left"===placement[0]&&adjustedSize.width>viewportOffset.left&&adjustedSize.width<=viewportOffset.right?"right":"right"===placement[0]&&adjustedSize.width>viewportOffset.right&&adjustedSize.width<=viewportOffset.left?"left":placement[0],placement[1]="top"===placement[1]&&adjustedSize.height-hostElemPos.height>viewportOffset.bottom&&adjustedSize.height-hostElemPos.height<=viewportOffset.top?"bottom":"bottom"===placement[1]&&adjustedSize.height-hostElemPos.height>viewportOffset.top&&adjustedSize.height-hostElemPos.height<=viewportOffset.bottom?"top":"left"===placement[1]&&adjustedSize.width-hostElemPos.width>viewportOffset.right&&adjustedSize.width-hostElemPos.width<=viewportOffset.left?"right":"right"===placement[1]&&adjustedSize.width-hostElemPos.width>viewportOffset.left&&adjustedSize.width-hostElemPos.width<=viewportOffset.right?"left":placement[1],"center"===placement[1])if(PLACEMENT_REGEX.vertical.test(placement[0])){var xOverflow=hostElemPos.width/2-targetWidth/2;viewportOffset.left+xOverflow<0&&adjustedSize.width-hostElemPos.width<=viewportOffset.right?placement[1]="left":viewportOffset.right+xOverflow<0&&adjustedSize.width-hostElemPos.width<=viewportOffset.left&&(placement[1]="right")}else{var yOverflow=hostElemPos.height/2-adjustedSize.height/2;viewportOffset.top+yOverflow<0&&adjustedSize.height-hostElemPos.height<=viewportOffset.bottom?placement[1]="top":viewportOffset.bottom+yOverflow<0&&adjustedSize.height-hostElemPos.height<=viewportOffset.top&&(placement[1]="bottom")}}switch(placement[0]){case"top":targetElemPos.top=hostElemPos.top-targetHeight;break;case"bottom":targetElemPos.top=hostElemPos.top+hostElemPos.height;break;case"left":targetElemPos.left=hostElemPos.left-targetWidth;break;case"right":targetElemPos.left=hostElemPos.left+hostElemPos.width}switch(placement[1]){case"top":targetElemPos.top=hostElemPos.top;break;case"bottom":targetElemPos.top=hostElemPos.top+hostElemPos.height-targetHeight;break;case"left":targetElemPos.left=hostElemPos.left;break;case"right":targetElemPos.left=hostElemPos.left+hostElemPos.width-targetWidth;break;case"center":PLACEMENT_REGEX.vertical.test(placement[0])?targetElemPos.left=hostElemPos.left+hostElemPos.width/2-targetWidth/2:targetElemPos.top=hostElemPos.top+hostElemPos.height/2-targetHeight/2}return targetElemPos.top=Math.round(targetElemPos.top),targetElemPos.left=Math.round(targetElemPos.left),targetElemPos.placement="center"===placement[1]?placement[0]:placement[0]+"-"+placement[1],targetElemPos},adjustTop:function(placementClasses,containerPosition,initialHeight,currentHeight){if(placementClasses.indexOf("top")!==-1&&initialHeight!==currentHeight)return{top:containerPosition.top-currentHeight+"px"}},positionArrow:function(elem,placement){elem=this.getRawNode(elem);var innerElem=elem.querySelector(".tooltip-inner, .popover-inner");if(innerElem){var isTooltip=angular.element(innerElem).hasClass("tooltip-inner"),arrowElem=isTooltip?elem.querySelector(".tooltip-arrow"):elem.querySelector(".arrow");if(arrowElem){var arrowCss={top:"",bottom:"",left:"",right:""};if(placement=this.parsePlacement(placement),"center"===placement[1])return void angular.element(arrowElem).css(arrowCss);var borderProp="border-"+placement[0]+"-width",borderWidth=$window.getComputedStyle(arrowElem)[borderProp],borderRadiusProp="border-";borderRadiusProp+=PLACEMENT_REGEX.vertical.test(placement[0])?placement[0]+"-"+placement[1]:placement[1]+"-"+placement[0],borderRadiusProp+="-radius";var borderRadius=$window.getComputedStyle(isTooltip?innerElem:elem)[borderRadiusProp];switch(placement[0]){case"top":arrowCss.bottom=isTooltip?"0":"-"+borderWidth;break;case"bottom":arrowCss.top=isTooltip?"0":"-"+borderWidth;break;case"left":arrowCss.right=isTooltip?"0":"-"+borderWidth;break;case"right":arrowCss.left=isTooltip?"0":"-"+borderWidth}arrowCss[placement[1]]=borderRadius,angular.element(arrowElem).css(arrowCss)}}}}}]),angular.module("ui.bootstrap.datepickerPopup",["ui.bootstrap.datepicker","ui.bootstrap.position"]).value("$datepickerPopupLiteralWarning",!0).constant("uibDatepickerPopupConfig",{altInputFormats:[],appendToBody:!1,clearText:"Clear",closeOnDateSelection:!0,closeText:"Done",currentText:"Today",datepickerPopup:"yyyy-MM-dd",datepickerPopupTemplateUrl:"uib/template/datepickerPopup/popup.html",datepickerTemplateUrl:"uib/template/datepicker/datepicker.html",html5Types:{date:"yyyy-MM-dd","datetime-local":"yyyy-MM-ddTHH:mm:ss.sss",month:"yyyy-MM"},onOpenFocus:!0,showButtonBar:!0,placement:"auto bottom-left"}).controller("UibDatepickerPopupController",["$scope","$element","$attrs","$compile","$log","$parse","$window","$document","$rootScope","$uibPosition","dateFilter","uibDateParser","uibDatepickerPopupConfig","$timeout","uibDatepickerConfig","$datepickerPopupLiteralWarning",function($scope,$element,$attrs,$compile,$log,$parse,$window,$document,$rootScope,$position,dateFilter,dateParser,datepickerPopupConfig,$timeout,datepickerConfig,$datepickerPopupLiteralWarning){function parseDateString(viewValue){var date=dateParser.parse(viewValue,dateFormat,$scope.date);if(isNaN(date))for(var i=0;i<altInputFormats.length;i++)if(date=dateParser.parse(viewValue,altInputFormats[i],$scope.date),!isNaN(date))return date;return date}function parseDate(viewValue){if(angular.isNumber(viewValue)&&(viewValue=new Date(viewValue)),!viewValue)return null;if(angular.isDate(viewValue)&&!isNaN(viewValue))return viewValue;if(angular.isString(viewValue)){var date=parseDateString(viewValue);if(!isNaN(date))return dateParser.toTimezone(date,ngModelOptions.getOption("timezone"))}return ngModelOptions.getOption("allowInvalid")?viewValue:void 0}function validator(modelValue,viewValue){var value=modelValue||viewValue;return!$attrs.ngRequired&&!value||(angular.isNumber(value)&&(value=new Date(value)),!value||(!(!angular.isDate(value)||isNaN(value))||!!angular.isString(value)&&!isNaN(parseDateString(value))))}function documentClickBind(event){if($scope.isOpen||!$scope.disabled){var popup=$popup[0],dpContainsTarget=$element[0].contains(event.target),popupContainsTarget=void 0!==popup.contains&&popup.contains(event.target);!$scope.isOpen||dpContainsTarget||popupContainsTarget||$scope.$apply(function(){$scope.isOpen=!1})}}function inputKeydownBind(evt){27===evt.which&&$scope.isOpen?(evt.preventDefault(),evt.stopPropagation(),$scope.$apply(function(){$scope.isOpen=!1}),$element[0].focus()):40!==evt.which||$scope.isOpen||(evt.preventDefault(),evt.stopPropagation(),$scope.$apply(function(){$scope.isOpen=!0}))}function positionPopup(){if($scope.isOpen){var dpElement=angular.element($popup[0].querySelector(".uib-datepicker-popup")),placement=$attrs.popupPlacement?$attrs.popupPlacement:datepickerPopupConfig.placement,position=$position.positionElements($element,dpElement,placement,appendToBody);dpElement.css({top:position.top+"px",left:position.left+"px"}),dpElement.hasClass("uib-position-measure")&&dpElement.removeClass("uib-position-measure")}}function extractOptions(ngModelCtrl){var ngModelOptions;return angular.version.minor<6?(ngModelOptions=angular.isObject(ngModelCtrl.$options)?ngModelCtrl.$options:{timezone:null},ngModelOptions.getOption=function(key){return ngModelOptions[key]}):ngModelOptions=ngModelCtrl.$options,ngModelOptions}var dateFormat,closeOnDateSelection,appendToBody,onOpenFocus,datepickerPopupTemplateUrl,datepickerTemplateUrl,popupEl,datepickerEl,scrollParentEl,ngModel,ngModelOptions,$popup,altInputFormats,isHtml5DateInput=!1,watchListeners=[];this.init=function(_ngModel_){if(ngModel=_ngModel_,ngModelOptions=extractOptions(ngModel),closeOnDateSelection=angular.isDefined($attrs.closeOnDateSelection)?$scope.$parent.$eval($attrs.closeOnDateSelection):datepickerPopupConfig.closeOnDateSelection,appendToBody=angular.isDefined($attrs.datepickerAppendToBody)?$scope.$parent.$eval($attrs.datepickerAppendToBody):datepickerPopupConfig.appendToBody,onOpenFocus=angular.isDefined($attrs.onOpenFocus)?$scope.$parent.$eval($attrs.onOpenFocus):datepickerPopupConfig.onOpenFocus,datepickerPopupTemplateUrl=angular.isDefined($attrs.datepickerPopupTemplateUrl)?$attrs.datepickerPopupTemplateUrl:datepickerPopupConfig.datepickerPopupTemplateUrl,datepickerTemplateUrl=angular.isDefined($attrs.datepickerTemplateUrl)?$attrs.datepickerTemplateUrl:datepickerPopupConfig.datepickerTemplateUrl,altInputFormats=angular.isDefined($attrs.altInputFormats)?$scope.$parent.$eval($attrs.altInputFormats):datepickerPopupConfig.altInputFormats,$scope.showButtonBar=angular.isDefined($attrs.showButtonBar)?$scope.$parent.$eval($attrs.showButtonBar):datepickerPopupConfig.showButtonBar,datepickerPopupConfig.html5Types[$attrs.type]?(dateFormat=datepickerPopupConfig.html5Types[$attrs.type],isHtml5DateInput=!0):(dateFormat=$attrs.uibDatepickerPopup||datepickerPopupConfig.datepickerPopup,$attrs.$observe("uibDatepickerPopup",function(value,oldValue){var newDateFormat=value||datepickerPopupConfig.datepickerPopup;if(newDateFormat!==dateFormat&&(dateFormat=newDateFormat,ngModel.$modelValue=null,!dateFormat))throw new Error("uibDatepickerPopup must have a date format specified.")})),!dateFormat)throw new Error("uibDatepickerPopup must have a date format specified.");if(isHtml5DateInput&&$attrs.uibDatepickerPopup)throw new Error("HTML5 date input types do not support custom formats.");popupEl=angular.element("<div uib-datepicker-popup-wrap><div uib-datepicker></div></div>"),popupEl.attr({"ng-model":"date","ng-change":"dateSelection(date)","template-url":datepickerPopupTemplateUrl}),datepickerEl=angular.element(popupEl.children()[0]),datepickerEl.attr("template-url",datepickerTemplateUrl),$scope.datepickerOptions||($scope.datepickerOptions={}),isHtml5DateInput&&"month"===$attrs.type&&($scope.datepickerOptions.datepickerMode="month",$scope.datepickerOptions.minMode="month"),datepickerEl.attr("datepicker-options","datepickerOptions"),isHtml5DateInput?ngModel.$formatters.push(function(value){return $scope.date=dateParser.fromTimezone(value,ngModelOptions.getOption("timezone")),value}):(ngModel.$$parserName="date",ngModel.$validators.date=validator,ngModel.$parsers.unshift(parseDate),ngModel.$formatters.push(function(value){return ngModel.$isEmpty(value)?($scope.date=value,value):(angular.isNumber(value)&&(value=new Date(value)),$scope.date=dateParser.fromTimezone(value,ngModelOptions.getOption("timezone")),dateParser.filter($scope.date,dateFormat))})),ngModel.$viewChangeListeners.push(function(){$scope.date=parseDateString(ngModel.$viewValue)}),$element.on("keydown",inputKeydownBind),$popup=$compile(popupEl)($scope),popupEl.remove(),appendToBody?$document.find("body").append($popup):$element.after($popup),$scope.$on("$destroy",function(){for($scope.isOpen===!0&&($rootScope.$$phase||$scope.$apply(function(){$scope.isOpen=!1})),$popup.remove(),$element.off("keydown",inputKeydownBind),$document.off("click",documentClickBind),scrollParentEl&&scrollParentEl.off("scroll",positionPopup),angular.element($window).off("resize",positionPopup);watchListeners.length;)watchListeners.shift()()})},$scope.getText=function(key){return $scope[key+"Text"]||datepickerPopupConfig[key+"Text"]},$scope.isDisabled=function(date){"today"===date&&(date=dateParser.fromTimezone(new Date,ngModelOptions.getOption("timezone")));var dates={};return angular.forEach(["minDate","maxDate"],function(key){$scope.datepickerOptions[key]?angular.isDate($scope.datepickerOptions[key])?dates[key]=new Date($scope.datepickerOptions[key]):($datepickerPopupLiteralWarning&&$log.warn("Literal date support has been deprecated, please switch to date object usage"),dates[key]=new Date(dateFilter($scope.datepickerOptions[key],"medium"))):dates[key]=null}),$scope.datepickerOptions&&dates.minDate&&$scope.compare(date,dates.minDate)<0||dates.maxDate&&$scope.compare(date,dates.maxDate)>0},$scope.compare=function(date1,date2){return new Date(date1.getFullYear(),date1.getMonth(),date1.getDate())-new Date(date2.getFullYear(),date2.getMonth(),date2.getDate())},$scope.dateSelection=function(dt){$scope.date=dt;var date=$scope.date?dateParser.filter($scope.date,dateFormat):null;$element.val(date),ngModel.$setViewValue(date),closeOnDateSelection&&($scope.isOpen=!1,$element[0].focus())},$scope.keydown=function(evt){27===evt.which&&(evt.stopPropagation(),$scope.isOpen=!1,$element[0].focus())},$scope.select=function(date,evt){if(evt.stopPropagation(),"today"===date){var today=new Date;angular.isDate($scope.date)?(date=new Date($scope.date),date.setFullYear(today.getFullYear(),today.getMonth(),today.getDate())):(date=dateParser.fromTimezone(today,ngModelOptions.getOption("timezone")),date.setHours(0,0,0,0))}$scope.dateSelection(date)},$scope.close=function(evt){evt.stopPropagation(),$scope.isOpen=!1,$element[0].focus()},$scope.disabled=angular.isDefined($attrs.disabled)||!1,$attrs.ngDisabled&&watchListeners.push($scope.$parent.$watch($parse($attrs.ngDisabled),function(disabled){$scope.disabled=disabled})),$scope.$watch("isOpen",function(value){value?$scope.disabled?$scope.isOpen=!1:$timeout(function(){positionPopup(),onOpenFocus&&$scope.$broadcast("uib:datepicker.focus"),$document.on("click",documentClickBind);var placement=$attrs.popupPlacement?$attrs.popupPlacement:datepickerPopupConfig.placement;appendToBody||$position.parsePlacement(placement)[2]?(scrollParentEl=scrollParentEl||angular.element($position.scrollParent($element)),scrollParentEl&&scrollParentEl.on("scroll",positionPopup)):scrollParentEl=null,angular.element($window).on("resize",positionPopup)},0,!1):($document.off("click",documentClickBind),scrollParentEl&&scrollParentEl.off("scroll",positionPopup),angular.element($window).off("resize",positionPopup))}),$scope.$on("uib:datepicker.mode",function(){$timeout(positionPopup,0,!1)})}]).directive("uibDatepickerPopup",function(){return{require:["ngModel","uibDatepickerPopup"],controller:"UibDatepickerPopupController",scope:{datepickerOptions:"=?",isOpen:"=?",currentText:"@",clearText:"@",closeText:"@"},link:function(scope,element,attrs,ctrls){var ngModel=ctrls[0],ctrl=ctrls[1];ctrl.init(ngModel)}}}).directive("uibDatepickerPopupWrap",function(){return{restrict:"A",transclude:!0,templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/datepickerPopup/popup.html"}}}),angular.module("ui.bootstrap.debounce",[]).factory("$$debounce",["$timeout",function($timeout){return function(callback,debounceTime){var timeoutPromise;return function(){var self=this,args=Array.prototype.slice.call(arguments);timeoutPromise&&$timeout.cancel(timeoutPromise),timeoutPromise=$timeout(function(){callback.apply(self,args)},debounceTime)}}}]),angular.module("ui.bootstrap.multiMap",[]).factory("$$multiMap",function(){return{createNew:function(){var map={};return{entries:function(){return Object.keys(map).map(function(key){return{key:key,value:map[key]}})},get:function(key){return map[key]},hasKey:function(key){return!!map[key]},keys:function(){return Object.keys(map)},put:function(key,value){map[key]||(map[key]=[]),map[key].push(value)},remove:function(key,value){var values=map[key];if(values){var idx=values.indexOf(value);idx!==-1&&values.splice(idx,1),values.length||delete map[key]}}}}}}),angular.module("ui.bootstrap.dropdown",["ui.bootstrap.multiMap","ui.bootstrap.position"]).constant("uibDropdownConfig",{appendToOpenClass:"uib-dropdown-open",openClass:"open"}).service("uibDropdownService",["$document","$rootScope","$$multiMap",function($document,$rootScope,$$multiMap){var openScope=null,openedContainers=$$multiMap.createNew();this.isOnlyOpen=function(dropdownScope,appendTo){var openedDropdowns=openedContainers.get(appendTo);if(openedDropdowns){var openDropdown=openedDropdowns.reduce(function(toClose,dropdown){return dropdown.scope===dropdownScope?dropdown:toClose},{});if(openDropdown)return 1===openedDropdowns.length}return!1},this.open=function(dropdownScope,element,appendTo){if(openScope||$document.on("click",closeDropdown),openScope&&openScope!==dropdownScope&&(openScope.isOpen=!1),openScope=dropdownScope,appendTo){var openedDropdowns=openedContainers.get(appendTo);if(openedDropdowns){var openedScopes=openedDropdowns.map(function(dropdown){return dropdown.scope});openedScopes.indexOf(dropdownScope)===-1&&openedContainers.put(appendTo,{scope:dropdownScope})}else openedContainers.put(appendTo,{scope:dropdownScope})}},this.close=function(dropdownScope,element,appendTo){if(openScope===dropdownScope&&($document.off("click",closeDropdown),$document.off("keydown",this.keybindFilter),openScope=null),appendTo){var openedDropdowns=openedContainers.get(appendTo);if(openedDropdowns){var dropdownToClose=openedDropdowns.reduce(function(toClose,dropdown){return dropdown.scope===dropdownScope?dropdown:toClose},{});dropdownToClose&&openedContainers.remove(appendTo,dropdownToClose)}}};var closeDropdown=function(evt){if(openScope&&openScope.isOpen&&!(evt&&"disabled"===openScope.getAutoClose()||evt&&3===evt.which)){var toggleElement=openScope.getToggleElement();if(!(evt&&toggleElement&&toggleElement[0].contains(evt.target))){var dropdownElement=openScope.getDropdownElement();evt&&"outsideClick"===openScope.getAutoClose()&&dropdownElement&&dropdownElement[0].contains(evt.target)||(openScope.focusToggleElement(),openScope.isOpen=!1,$rootScope.$$phase||openScope.$apply())}}};this.keybindFilter=function(evt){if(openScope){var dropdownElement=openScope.getDropdownElement(),toggleElement=openScope.getToggleElement(),dropdownElementTargeted=dropdownElement&&dropdownElement[0].contains(evt.target),toggleElementTargeted=toggleElement&&toggleElement[0].contains(evt.target);27===evt.which?(evt.stopPropagation(),openScope.focusToggleElement(),closeDropdown()):openScope.isKeynavEnabled()&&[38,40].indexOf(evt.which)!==-1&&openScope.isOpen&&(dropdownElementTargeted||toggleElementTargeted)&&(evt.preventDefault(),evt.stopPropagation(),openScope.focusDropdownEntry(evt.which))}}}]).controller("UibDropdownController",["$scope","$element","$attrs","$parse","uibDropdownConfig","uibDropdownService","$animate","$uibPosition","$document","$compile","$templateRequest",function($scope,$element,$attrs,$parse,dropdownConfig,uibDropdownService,$animate,$position,$document,$compile,$templateRequest){function removeDropdownMenu(){$element.append(self.dropdownMenu)}var templateScope,getIsOpen,self=this,scope=$scope.$new(),appendToOpenClass=dropdownConfig.appendToOpenClass,openClass=dropdownConfig.openClass,setIsOpen=angular.noop,toggleInvoker=$attrs.onToggle?$parse($attrs.onToggle):angular.noop,keynavEnabled=!1,body=$document.find("body");$element.addClass("dropdown"),this.init=function(){$attrs.isOpen&&(getIsOpen=$parse($attrs.isOpen),setIsOpen=getIsOpen.assign,$scope.$watch(getIsOpen,function(value){scope.isOpen=!!value})),keynavEnabled=angular.isDefined($attrs.keyboardNav)},this.toggle=function(open){return scope.isOpen=arguments.length?!!open:!scope.isOpen,angular.isFunction(setIsOpen)&&setIsOpen(scope,scope.isOpen),scope.isOpen},this.isOpen=function(){return scope.isOpen},scope.getToggleElement=function(){return self.toggleElement},scope.getAutoClose=function(){return $attrs.autoClose||"always"},scope.getElement=function(){return $element},scope.isKeynavEnabled=function(){return keynavEnabled},scope.focusDropdownEntry=function(keyCode){var elems=self.dropdownMenu?angular.element(self.dropdownMenu).find("a"):$element.find("ul").eq(0).find("a");switch(keyCode){case 40:angular.isNumber(self.selectedOption)?self.selectedOption=self.selectedOption===elems.length-1?self.selectedOption:self.selectedOption+1:self.selectedOption=0;break;case 38:angular.isNumber(self.selectedOption)?self.selectedOption=0===self.selectedOption?0:self.selectedOption-1:self.selectedOption=elems.length-1}elems[self.selectedOption].focus()},scope.getDropdownElement=function(){return self.dropdownMenu},scope.focusToggleElement=function(){self.toggleElement&&self.toggleElement[0].focus()},scope.$watch("isOpen",function(isOpen,wasOpen){var appendTo=null,appendToBody=!1;if(angular.isDefined($attrs.dropdownAppendTo)){var appendToEl=$parse($attrs.dropdownAppendTo)(scope);appendToEl&&(appendTo=angular.element(appendToEl))}if(angular.isDefined($attrs.dropdownAppendToBody)){var appendToBodyValue=$parse($attrs.dropdownAppendToBody)(scope);appendToBodyValue!==!1&&(appendToBody=!0)}if(appendToBody&&!appendTo&&(appendTo=body),appendTo&&self.dropdownMenu&&(isOpen?(appendTo.append(self.dropdownMenu),$element.on("$destroy",removeDropdownMenu)):($element.off("$destroy",removeDropdownMenu),removeDropdownMenu())),appendTo&&self.dropdownMenu){var css,rightalign,scrollbarPadding,pos=$position.positionElements($element,self.dropdownMenu,"bottom-left",!0),scrollbarWidth=0;if(css={top:pos.top+"px",display:isOpen?"block":"none"},rightalign=self.dropdownMenu.hasClass("dropdown-menu-right"),rightalign?(css.left="auto",scrollbarPadding=$position.scrollbarPadding(appendTo),scrollbarPadding.heightOverflow&&scrollbarPadding.scrollbarWidth&&(scrollbarWidth=scrollbarPadding.scrollbarWidth),css.right=window.innerWidth-scrollbarWidth-(pos.left+$element.prop("offsetWidth"))+"px"):(css.left=pos.left+"px",css.right="auto"),!appendToBody){var appendOffset=$position.offset(appendTo);css.top=pos.top-appendOffset.top+"px",rightalign?css.right=window.innerWidth-(pos.left-appendOffset.left+$element.prop("offsetWidth"))+"px":css.left=pos.left-appendOffset.left+"px"}self.dropdownMenu.css(css)}var openContainer=appendTo?appendTo:$element,dropdownOpenClass=appendTo?appendToOpenClass:openClass,hasOpenClass=openContainer.hasClass(dropdownOpenClass),isOnlyOpen=uibDropdownService.isOnlyOpen($scope,appendTo);if(hasOpenClass===!isOpen){var toggleClass;toggleClass=appendTo?isOnlyOpen?"removeClass":"addClass":isOpen?"addClass":"removeClass",$animate[toggleClass](openContainer,dropdownOpenClass).then(function(){angular.isDefined(isOpen)&&isOpen!==wasOpen&&toggleInvoker($scope,{open:!!isOpen})})}if(isOpen)self.dropdownMenuTemplateUrl?$templateRequest(self.dropdownMenuTemplateUrl).then(function(tplContent){templateScope=scope.$new(),$compile(tplContent.trim())(templateScope,function(dropdownElement){var newEl=dropdownElement;self.dropdownMenu.replaceWith(newEl),self.dropdownMenu=newEl,$document.on("keydown",uibDropdownService.keybindFilter)})}):$document.on("keydown",uibDropdownService.keybindFilter),scope.focusToggleElement(),uibDropdownService.open(scope,$element,appendTo);else{if(uibDropdownService.close(scope,$element,appendTo),self.dropdownMenuTemplateUrl){templateScope&&templateScope.$destroy();var newEl=angular.element('<ul class="dropdown-menu"></ul>');self.dropdownMenu.replaceWith(newEl),self.dropdownMenu=newEl}self.selectedOption=null}angular.isFunction(setIsOpen)&&setIsOpen($scope,isOpen)})}]).directive("uibDropdown",function(){return{controller:"UibDropdownController",link:function(scope,element,attrs,dropdownCtrl){dropdownCtrl.init()}}}).directive("uibDropdownMenu",function(){return{restrict:"A",require:"?^uibDropdown",link:function(scope,element,attrs,dropdownCtrl){if(dropdownCtrl&&!angular.isDefined(attrs.dropdownNested)){element.addClass("dropdown-menu");var tplUrl=attrs.templateUrl;tplUrl&&(dropdownCtrl.dropdownMenuTemplateUrl=tplUrl),dropdownCtrl.dropdownMenu||(dropdownCtrl.dropdownMenu=element)}}}}).directive("uibDropdownToggle",function(){return{require:"?^uibDropdown",link:function(scope,element,attrs,dropdownCtrl){if(dropdownCtrl){element.addClass("dropdown-toggle"),dropdownCtrl.toggleElement=element;var toggleDropdown=function(event){event.preventDefault(),element.hasClass("disabled")||attrs.disabled||scope.$apply(function(){dropdownCtrl.toggle()})};element.on("click",toggleDropdown),element.attr({"aria-haspopup":!0,"aria-expanded":!1}),scope.$watch(dropdownCtrl.isOpen,function(isOpen){element.attr("aria-expanded",!!isOpen)}),scope.$on("$destroy",function(){element.off("click",toggleDropdown)})}}}}),angular.module("ui.bootstrap.stackedMap",[]).factory("$$stackedMap",function(){return{createNew:function(){var stack=[];return{add:function(key,value){stack.push({key:key,value:value})},get:function(key){for(var i=0;i<stack.length;i++)if(key===stack[i].key)return stack[i]},keys:function(){for(var keys=[],i=0;i<stack.length;i++)keys.push(stack[i].key);return keys},top:function(){return stack[stack.length-1]},remove:function(key){for(var idx=-1,i=0;i<stack.length;i++)if(key===stack[i].key){idx=i;break}return stack.splice(idx,1)[0]},removeTop:function(){return stack.pop()},length:function(){return stack.length}}}}}),angular.module("ui.bootstrap.modal",["ui.bootstrap.multiMap","ui.bootstrap.stackedMap","ui.bootstrap.position"]).provider("$uibResolve",function(){var resolve=this;this.resolver=null,this.setResolver=function(resolver){this.resolver=resolver},this.$get=["$injector","$q",function($injector,$q){var resolver=resolve.resolver?$injector.get(resolve.resolver):null;return{resolve:function(invocables,locals,parent,self){if(resolver)return resolver.resolve(invocables,locals,parent,self);var promises=[];return angular.forEach(invocables,function(value){angular.isFunction(value)||angular.isArray(value)?promises.push($q.resolve($injector.invoke(value))):angular.isString(value)?promises.push($q.resolve($injector.get(value))):promises.push($q.resolve(value))}),$q.all(promises).then(function(resolves){var resolveObj={},resolveIter=0;return angular.forEach(invocables,function(value,key){resolveObj[key]=resolves[resolveIter++]}),resolveObj})}}}]}).directive("uibModalBackdrop",["$animate","$injector","$uibModalStack",function($animate,$injector,$modalStack){function linkFn(scope,element,attrs){attrs.modalInClass&&($animate.addClass(element,attrs.modalInClass),scope.$on($modalStack.NOW_CLOSING_EVENT,function(e,setIsAsync){var done=setIsAsync();
+scope.modalOptions.animation?$animate.removeClass(element,attrs.modalInClass).then(done):done()}))}return{restrict:"A",compile:function(tElement,tAttrs){return tElement.addClass(tAttrs.backdropClass),linkFn}}}]).directive("uibModalWindow",["$uibModalStack","$q","$animateCss","$document",function($modalStack,$q,$animateCss,$document){return{scope:{index:"@"},restrict:"A",transclude:!0,templateUrl:function(tElement,tAttrs){return tAttrs.templateUrl||"uib/template/modal/window.html"},link:function(scope,element,attrs){element.addClass(attrs.windowTopClass||""),scope.size=attrs.size,scope.close=function(evt){var modal=$modalStack.getTop();modal&&modal.value.backdrop&&"static"!==modal.value.backdrop&&evt.target===evt.currentTarget&&(evt.preventDefault(),evt.stopPropagation(),$modalStack.dismiss(modal.key,"backdrop click"))},element.on("click",scope.close),scope.$isRendered=!0;var modalRenderDeferObj=$q.defer();scope.$$postDigest(function(){modalRenderDeferObj.resolve()}),modalRenderDeferObj.promise.then(function(){var animationPromise=null;attrs.modalInClass&&(animationPromise=$animateCss(element,{addClass:attrs.modalInClass}).start(),scope.$on($modalStack.NOW_CLOSING_EVENT,function(e,setIsAsync){var done=setIsAsync();$animateCss(element,{removeClass:attrs.modalInClass}).start().then(done)})),$q.when(animationPromise).then(function(){var modal=$modalStack.getTop();if(modal&&$modalStack.modalRendered(modal.key),!$document[0].activeElement||!element[0].contains($document[0].activeElement)){var inputWithAutofocus=element[0].querySelector("[autofocus]");inputWithAutofocus?inputWithAutofocus.focus():element[0].focus()}})})}}}]).directive("uibModalAnimationClass",function(){return{compile:function(tElement,tAttrs){tAttrs.modalAnimation&&tElement.addClass(tAttrs.uibModalAnimationClass)}}}).directive("uibModalTransclude",["$animate",function($animate){return{link:function(scope,element,attrs,controller,transclude){transclude(scope.$parent,function(clone){element.empty(),$animate.enter(clone,element)})}}}]).factory("$uibModalStack",["$animate","$animateCss","$document","$compile","$rootScope","$q","$$multiMap","$$stackedMap","$uibPosition",function($animate,$animateCss,$document,$compile,$rootScope,$q,$$multiMap,$$stackedMap,$uibPosition){function snake_case(name){var separator="-";return name.replace(SNAKE_CASE_REGEXP,function(letter,pos){return(pos?separator:"")+letter.toLowerCase()})}function isVisible(element){return!!(element.offsetWidth||element.offsetHeight||element.getClientRects().length)}function backdropIndex(){for(var topBackdropIndex=-1,opened=openedWindows.keys(),i=0;i<opened.length;i++)openedWindows.get(opened[i]).value.backdrop&&(topBackdropIndex=i);return topBackdropIndex>-1&&topBackdropIndex<topModalIndex&&(topBackdropIndex=topModalIndex),topBackdropIndex}function removeModalWindow(modalInstance,elementToReceiveFocus){var modalWindow=openedWindows.get(modalInstance).value,appendToElement=modalWindow.appendTo;openedWindows.remove(modalInstance),previousTopOpenedModal=openedWindows.top(),previousTopOpenedModal&&(topModalIndex=parseInt(previousTopOpenedModal.value.modalDomEl.attr("index"),10)),removeAfterAnimate(modalWindow.modalDomEl,modalWindow.modalScope,function(){var modalBodyClass=modalWindow.openedClass||OPENED_MODAL_CLASS;openedClasses.remove(modalBodyClass,modalInstance);var areAnyOpen=openedClasses.hasKey(modalBodyClass);appendToElement.toggleClass(modalBodyClass,areAnyOpen),!areAnyOpen&&scrollbarPadding&&scrollbarPadding.heightOverflow&&scrollbarPadding.scrollbarWidth&&(scrollbarPadding.originalRight?appendToElement.css({paddingRight:scrollbarPadding.originalRight+"px"}):appendToElement.css({paddingRight:""}),scrollbarPadding=null),toggleTopWindowClass(!0)},modalWindow.closedDeferred),checkRemoveBackdrop(),elementToReceiveFocus&&elementToReceiveFocus.focus?elementToReceiveFocus.focus():appendToElement.focus&&appendToElement.focus()}function toggleTopWindowClass(toggleSwitch){var modalWindow;openedWindows.length()>0&&(modalWindow=openedWindows.top().value,modalWindow.modalDomEl.toggleClass(modalWindow.windowTopClass||"",toggleSwitch))}function checkRemoveBackdrop(){if(backdropDomEl&&backdropIndex()===-1){var backdropScopeRef=backdropScope;removeAfterAnimate(backdropDomEl,backdropScope,function(){backdropScopeRef=null}),backdropDomEl=void 0,backdropScope=void 0}}function removeAfterAnimate(domEl,scope,done,closedDeferred){function afterAnimating(){afterAnimating.done||(afterAnimating.done=!0,$animate.leave(domEl).then(function(){done&&done(),domEl.remove(),closedDeferred&&closedDeferred.resolve()}),scope.$destroy())}var asyncDeferred,asyncPromise=null,setIsAsync=function(){return asyncDeferred||(asyncDeferred=$q.defer(),asyncPromise=asyncDeferred.promise),function(){asyncDeferred.resolve()}};return scope.$broadcast($modalStack.NOW_CLOSING_EVENT,setIsAsync),$q.when(asyncPromise).then(afterAnimating)}function keydownListener(evt){if(evt.isDefaultPrevented())return evt;var modal=openedWindows.top();if(modal)switch(evt.which){case 27:modal.value.keyboard&&(evt.preventDefault(),$rootScope.$apply(function(){$modalStack.dismiss(modal.key,"escape key press")}));break;case 9:var list=$modalStack.loadFocusElementList(modal),focusChanged=!1;evt.shiftKey?($modalStack.isFocusInFirstItem(evt,list)||$modalStack.isModalFocused(evt,modal))&&(focusChanged=$modalStack.focusLastFocusableElement(list)):$modalStack.isFocusInLastItem(evt,list)&&(focusChanged=$modalStack.focusFirstFocusableElement(list)),focusChanged&&(evt.preventDefault(),evt.stopPropagation())}}function broadcastClosing(modalWindow,resultOrReason,closing){return!modalWindow.value.modalScope.$broadcast("modal.closing",resultOrReason,closing).defaultPrevented}function unhideBackgroundElements(){Array.prototype.forEach.call(document.querySelectorAll("["+ARIA_HIDDEN_ATTRIBUTE_NAME+"]"),function(hiddenEl){var ariaHiddenCount=parseInt(hiddenEl.getAttribute(ARIA_HIDDEN_ATTRIBUTE_NAME),10),newHiddenCount=ariaHiddenCount-1;hiddenEl.setAttribute(ARIA_HIDDEN_ATTRIBUTE_NAME,newHiddenCount),newHiddenCount||(hiddenEl.removeAttribute(ARIA_HIDDEN_ATTRIBUTE_NAME),hiddenEl.removeAttribute("aria-hidden"))})}var backdropDomEl,backdropScope,scrollbarPadding,OPENED_MODAL_CLASS="modal-open",openedWindows=$$stackedMap.createNew(),openedClasses=$$multiMap.createNew(),$modalStack={NOW_CLOSING_EVENT:"modal.stack.now-closing"},topModalIndex=0,previousTopOpenedModal=null,ARIA_HIDDEN_ATTRIBUTE_NAME="data-bootstrap-modal-aria-hidden-count",tabbableSelector="a[href], area[href], input:not([disabled]):not([tabindex='-1']), button:not([disabled]):not([tabindex='-1']),select:not([disabled]):not([tabindex='-1']), textarea:not([disabled]):not([tabindex='-1']), iframe, object, embed, *[tabindex]:not([tabindex='-1']), *[contenteditable=true]",SNAKE_CASE_REGEXP=/[A-Z]/g;return $rootScope.$watch(backdropIndex,function(newBackdropIndex){backdropScope&&(backdropScope.index=newBackdropIndex)}),$document.on("keydown",keydownListener),$rootScope.$on("$destroy",function(){$document.off("keydown",keydownListener)}),$modalStack.open=function(modalInstance,modal){function applyAriaHidden(el){function getSiblings(el){var children=el.parent()?el.parent().children():[];return Array.prototype.filter.call(children,function(child){return child!==el[0]})}if(el&&"BODY"!==el[0].tagName)return getSiblings(el).forEach(function(sibling){var elemIsAlreadyHidden="true"===sibling.getAttribute("aria-hidden"),ariaHiddenCount=parseInt(sibling.getAttribute(ARIA_HIDDEN_ATTRIBUTE_NAME),10);ariaHiddenCount||(ariaHiddenCount=elemIsAlreadyHidden?1:0),sibling.setAttribute(ARIA_HIDDEN_ATTRIBUTE_NAME,ariaHiddenCount+1),sibling.setAttribute("aria-hidden","true")}),applyAriaHidden(el.parent())}var modalOpener=$document[0].activeElement,modalBodyClass=modal.openedClass||OPENED_MODAL_CLASS;toggleTopWindowClass(!1),previousTopOpenedModal=openedWindows.top(),openedWindows.add(modalInstance,{deferred:modal.deferred,renderDeferred:modal.renderDeferred,closedDeferred:modal.closedDeferred,modalScope:modal.scope,backdrop:modal.backdrop,keyboard:modal.keyboard,openedClass:modal.openedClass,windowTopClass:modal.windowTopClass,animation:modal.animation,appendTo:modal.appendTo}),openedClasses.put(modalBodyClass,modalInstance);var appendToElement=modal.appendTo,currBackdropIndex=backdropIndex();currBackdropIndex>=0&&!backdropDomEl&&(backdropScope=$rootScope.$new(!0),backdropScope.modalOptions=modal,backdropScope.index=currBackdropIndex,backdropDomEl=angular.element('<div uib-modal-backdrop="modal-backdrop"></div>'),backdropDomEl.attr({"class":"modal-backdrop","ng-style":"{'z-index': 1040 + (index && 1 || 0) + index*10}","uib-modal-animation-class":"fade","modal-in-class":"in"}),modal.backdropClass&&backdropDomEl.addClass(modal.backdropClass),modal.animation&&backdropDomEl.attr("modal-animation","true"),$compile(backdropDomEl)(backdropScope),$animate.enter(backdropDomEl,appendToElement),$uibPosition.isScrollable(appendToElement)&&(scrollbarPadding=$uibPosition.scrollbarPadding(appendToElement),scrollbarPadding.heightOverflow&&scrollbarPadding.scrollbarWidth&&appendToElement.css({paddingRight:scrollbarPadding.right+"px"})));var content;modal.component?(content=document.createElement(snake_case(modal.component.name)),content=angular.element(content),content.attr({resolve:"$resolve","modal-instance":"$uibModalInstance",close:"$close($value)",dismiss:"$dismiss($value)"})):content=modal.content,topModalIndex=previousTopOpenedModal?parseInt(previousTopOpenedModal.value.modalDomEl.attr("index"),10)+1:0;var angularDomEl=angular.element('<div uib-modal-window="modal-window"></div>');angularDomEl.attr({"class":"modal","template-url":modal.windowTemplateUrl,"window-top-class":modal.windowTopClass,role:"dialog","aria-labelledby":modal.ariaLabelledBy,"aria-describedby":modal.ariaDescribedBy,size:modal.size,index:topModalIndex,animate:"animate","ng-style":"{'z-index': 1050 + $$topModalIndex*10, display: 'block'}",tabindex:-1,"uib-modal-animation-class":"fade","modal-in-class":"in"}).append(content),modal.windowClass&&angularDomEl.addClass(modal.windowClass),modal.animation&&angularDomEl.attr("modal-animation","true"),appendToElement.addClass(modalBodyClass),modal.scope&&(modal.scope.$$topModalIndex=topModalIndex),$animate.enter($compile(angularDomEl)(modal.scope),appendToElement),openedWindows.top().value.modalDomEl=angularDomEl,openedWindows.top().value.modalOpener=modalOpener,applyAriaHidden(angularDomEl)},$modalStack.close=function(modalInstance,result){var modalWindow=openedWindows.get(modalInstance);return unhideBackgroundElements(),modalWindow&&broadcastClosing(modalWindow,result,!0)?(modalWindow.value.modalScope.$$uibDestructionScheduled=!0,modalWindow.value.deferred.resolve(result),removeModalWindow(modalInstance,modalWindow.value.modalOpener),!0):!modalWindow},$modalStack.dismiss=function(modalInstance,reason){var modalWindow=openedWindows.get(modalInstance);return unhideBackgroundElements(),modalWindow&&broadcastClosing(modalWindow,reason,!1)?(modalWindow.value.modalScope.$$uibDestructionScheduled=!0,modalWindow.value.deferred.reject(reason),removeModalWindow(modalInstance,modalWindow.value.modalOpener),!0):!modalWindow},$modalStack.dismissAll=function(reason){for(var topModal=this.getTop();topModal&&this.dismiss(topModal.key,reason);)topModal=this.getTop()},$modalStack.getTop=function(){return openedWindows.top()},$modalStack.modalRendered=function(modalInstance){var modalWindow=openedWindows.get(modalInstance);modalWindow&&modalWindow.value.renderDeferred.resolve()},$modalStack.focusFirstFocusableElement=function(list){return list.length>0&&(list[0].focus(),!0)},$modalStack.focusLastFocusableElement=function(list){return list.length>0&&(list[list.length-1].focus(),!0)},$modalStack.isModalFocused=function(evt,modalWindow){if(evt&&modalWindow){var modalDomEl=modalWindow.value.modalDomEl;if(modalDomEl&&modalDomEl.length)return(evt.target||evt.srcElement)===modalDomEl[0]}return!1},$modalStack.isFocusInFirstItem=function(evt,list){return list.length>0&&(evt.target||evt.srcElement)===list[0]},$modalStack.isFocusInLastItem=function(evt,list){return list.length>0&&(evt.target||evt.srcElement)===list[list.length-1]},$modalStack.loadFocusElementList=function(modalWindow){if(modalWindow){var modalDomE1=modalWindow.value.modalDomEl;if(modalDomE1&&modalDomE1.length){var elements=modalDomE1[0].querySelectorAll(tabbableSelector);return elements?Array.prototype.filter.call(elements,function(element){return isVisible(element)}):elements}}},$modalStack}]).provider("$uibModal",function(){var $modalProvider={options:{animation:!0,backdrop:!0,keyboard:!0},$get:["$rootScope","$q","$document","$templateRequest","$controller","$uibResolve","$uibModalStack",function($rootScope,$q,$document,$templateRequest,$controller,$uibResolve,$modalStack){function getTemplatePromise(options){return options.template?$q.when(options.template):$templateRequest(angular.isFunction(options.templateUrl)?options.templateUrl():options.templateUrl)}var $modal={},promiseChain=null;return $modal.getPromiseChain=function(){return promiseChain},$modal.open=function(modalOptions){function resolveWithTemplate(){return templateAndResolvePromise}var modalResultDeferred=$q.defer(),modalOpenedDeferred=$q.defer(),modalClosedDeferred=$q.defer(),modalRenderDeferred=$q.defer(),modalInstance={result:modalResultDeferred.promise,opened:modalOpenedDeferred.promise,closed:modalClosedDeferred.promise,rendered:modalRenderDeferred.promise,close:function(result){return $modalStack.close(modalInstance,result)},dismiss:function(reason){return $modalStack.dismiss(modalInstance,reason)}};if(modalOptions=angular.extend({},$modalProvider.options,modalOptions),modalOptions.resolve=modalOptions.resolve||{},modalOptions.appendTo=modalOptions.appendTo||$document.find("body").eq(0),!modalOptions.appendTo.length)throw new Error("appendTo element not found. Make sure that the element passed is in DOM.");if(!modalOptions.component&&!modalOptions.template&&!modalOptions.templateUrl)throw new Error("One of component or template or templateUrl options is required.");var templateAndResolvePromise;templateAndResolvePromise=modalOptions.component?$q.when($uibResolve.resolve(modalOptions.resolve,{},null,null)):$q.all([getTemplatePromise(modalOptions),$uibResolve.resolve(modalOptions.resolve,{},null,null)]);var samePromise;return samePromise=promiseChain=$q.all([promiseChain]).then(resolveWithTemplate,resolveWithTemplate).then(function(tplAndVars){function constructLocals(obj,template,instanceOnScope,injectable){obj.$scope=modalScope,obj.$scope.$resolve={},instanceOnScope?obj.$scope.$uibModalInstance=modalInstance:obj.$uibModalInstance=modalInstance;var resolves=template?tplAndVars[1]:tplAndVars;angular.forEach(resolves,function(value,key){injectable&&(obj[key]=value),obj.$scope.$resolve[key]=value})}var providedScope=modalOptions.scope||$rootScope,modalScope=providedScope.$new();modalScope.$close=modalInstance.close,modalScope.$dismiss=modalInstance.dismiss,modalScope.$on("$destroy",function(){modalScope.$$uibDestructionScheduled||modalScope.$dismiss("$uibUnscheduledDestruction")});var ctrlInstance,ctrlInstantiate,modal={scope:modalScope,deferred:modalResultDeferred,renderDeferred:modalRenderDeferred,closedDeferred:modalClosedDeferred,animation:modalOptions.animation,backdrop:modalOptions.backdrop,keyboard:modalOptions.keyboard,backdropClass:modalOptions.backdropClass,windowTopClass:modalOptions.windowTopClass,windowClass:modalOptions.windowClass,windowTemplateUrl:modalOptions.windowTemplateUrl,ariaLabelledBy:modalOptions.ariaLabelledBy,ariaDescribedBy:modalOptions.ariaDescribedBy,size:modalOptions.size,openedClass:modalOptions.openedClass,appendTo:modalOptions.appendTo},component={},ctrlLocals={};modalOptions.component?(constructLocals(component,!1,!0,!1),component.name=modalOptions.component,modal.component=component):modalOptions.controller&&(constructLocals(ctrlLocals,!0,!1,!0),ctrlInstantiate=$controller(modalOptions.controller,ctrlLocals,!0,modalOptions.controllerAs),modalOptions.controllerAs&&modalOptions.bindToController&&(ctrlInstance=ctrlInstantiate.instance,ctrlInstance.$close=modalScope.$close,ctrlInstance.$dismiss=modalScope.$dismiss,angular.extend(ctrlInstance,{$resolve:ctrlLocals.$scope.$resolve},providedScope)),ctrlInstance=ctrlInstantiate(),angular.isFunction(ctrlInstance.$onInit)&&ctrlInstance.$onInit()),modalOptions.component||(modal.content=tplAndVars[0]),$modalStack.open(modalInstance,modal),modalOpenedDeferred.resolve(!0)},function(reason){modalOpenedDeferred.reject(reason),modalResultDeferred.reject(reason)})["finally"](function(){promiseChain===samePromise&&(promiseChain=null)}),modalInstance},$modal}]};return $modalProvider}),angular.module("ui.bootstrap.paging",[]).factory("uibPaging",["$parse",function($parse){return{create:function(ctrl,$scope,$attrs){ctrl.setNumPages=$attrs.numPages?$parse($attrs.numPages).assign:angular.noop,ctrl.ngModelCtrl={$setViewValue:angular.noop},ctrl._watchers=[],ctrl.init=function(ngModelCtrl,config){ctrl.ngModelCtrl=ngModelCtrl,ctrl.config=config,ngModelCtrl.$render=function(){ctrl.render()},$attrs.itemsPerPage?ctrl._watchers.push($scope.$parent.$watch($attrs.itemsPerPage,function(value){ctrl.itemsPerPage=parseInt(value,10),$scope.totalPages=ctrl.calculateTotalPages(),ctrl.updatePage()})):ctrl.itemsPerPage=config.itemsPerPage,$scope.$watch("totalItems",function(newTotal,oldTotal){(angular.isDefined(newTotal)||newTotal!==oldTotal)&&($scope.totalPages=ctrl.calculateTotalPages(),ctrl.updatePage())})},ctrl.calculateTotalPages=function(){var totalPages=ctrl.itemsPerPage<1?1:Math.ceil($scope.totalItems/ctrl.itemsPerPage);return Math.max(totalPages||0,1)},ctrl.render=function(){$scope.page=parseInt(ctrl.ngModelCtrl.$viewValue,10)||1},$scope.selectPage=function(page,evt){evt&&evt.preventDefault();var clickAllowed=!$scope.ngDisabled||!evt;clickAllowed&&$scope.page!==page&&page>0&&page<=$scope.totalPages&&(evt&&evt.target&&evt.target.blur(),ctrl.ngModelCtrl.$setViewValue(page),ctrl.ngModelCtrl.$render())},$scope.getText=function(key){return $scope[key+"Text"]||ctrl.config[key+"Text"]},$scope.noPrevious=function(){return 1===$scope.page},$scope.noNext=function(){return $scope.page===$scope.totalPages},ctrl.updatePage=function(){ctrl.setNumPages($scope.$parent,$scope.totalPages),$scope.page>$scope.totalPages?$scope.selectPage($scope.totalPages):ctrl.ngModelCtrl.$render()},$scope.$on("$destroy",function(){for(;ctrl._watchers.length;)ctrl._watchers.shift()()})}}}]),angular.module("ui.bootstrap.pager",["ui.bootstrap.paging","ui.bootstrap.tabindex"]).controller("UibPagerController",["$scope","$attrs","uibPaging","uibPagerConfig",function($scope,$attrs,uibPaging,uibPagerConfig){$scope.align=angular.isDefined($attrs.align)?$scope.$parent.$eval($attrs.align):uibPagerConfig.align,uibPaging.create(this,$scope,$attrs)}]).constant("uibPagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("uibPager",["uibPagerConfig",function(uibPagerConfig){return{scope:{totalItems:"=",previousText:"@",nextText:"@",ngDisabled:"="},require:["uibPager","?ngModel"],restrict:"A",controller:"UibPagerController",controllerAs:"pager",templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/pager/pager.html"},link:function(scope,element,attrs,ctrls){element.addClass("pager");var paginationCtrl=ctrls[0],ngModelCtrl=ctrls[1];ngModelCtrl&&paginationCtrl.init(ngModelCtrl,uibPagerConfig)}}}]),angular.module("ui.bootstrap.pagination",["ui.bootstrap.paging","ui.bootstrap.tabindex"]).controller("UibPaginationController",["$scope","$attrs","$parse","uibPaging","uibPaginationConfig",function($scope,$attrs,$parse,uibPaging,uibPaginationConfig){function makePage(number,text,isActive){return{number:number,text:text,active:isActive}}function getPages(currentPage,totalPages){var pages=[],startPage=1,endPage=totalPages,isMaxSized=angular.isDefined(maxSize)&&maxSize<totalPages;isMaxSized&&(rotate?(startPage=Math.max(currentPage-Math.floor(maxSize/2),1),endPage=startPage+maxSize-1,endPage>totalPages&&(endPage=totalPages,startPage=endPage-maxSize+1)):(startPage=(Math.ceil(currentPage/maxSize)-1)*maxSize+1,endPage=Math.min(startPage+maxSize-1,totalPages)));for(var number=startPage;number<=endPage;number++){var page=makePage(number,pageLabel(number),number===currentPage);pages.push(page)}if(isMaxSized&&maxSize>0&&(!rotate||forceEllipses||boundaryLinkNumbers)){if(startPage>1){if(!boundaryLinkNumbers||startPage>3){var previousPageSet=makePage(startPage-1,"...",!1);pages.unshift(previousPageSet)}if(boundaryLinkNumbers){if(3===startPage){var secondPageLink=makePage(2,"2",!1);pages.unshift(secondPageLink)}var firstPageLink=makePage(1,"1",!1);pages.unshift(firstPageLink)}}if(endPage<totalPages){if(!boundaryLinkNumbers||endPage<totalPages-2){var nextPageSet=makePage(endPage+1,"...",!1);pages.push(nextPageSet)}if(boundaryLinkNumbers){if(endPage===totalPages-2){var secondToLastPageLink=makePage(totalPages-1,totalPages-1,!1);pages.push(secondToLastPageLink)}var lastPageLink=makePage(totalPages,totalPages,!1);pages.push(lastPageLink)}}}return pages}var ctrl=this,maxSize=angular.isDefined($attrs.maxSize)?$scope.$parent.$eval($attrs.maxSize):uibPaginationConfig.maxSize,rotate=angular.isDefined($attrs.rotate)?$scope.$parent.$eval($attrs.rotate):uibPaginationConfig.rotate,forceEllipses=angular.isDefined($attrs.forceEllipses)?$scope.$parent.$eval($attrs.forceEllipses):uibPaginationConfig.forceEllipses,boundaryLinkNumbers=angular.isDefined($attrs.boundaryLinkNumbers)?$scope.$parent.$eval($attrs.boundaryLinkNumbers):uibPaginationConfig.boundaryLinkNumbers,pageLabel=angular.isDefined($attrs.pageLabel)?function(idx){return $scope.$parent.$eval($attrs.pageLabel,{$page:idx})}:angular.identity;$scope.boundaryLinks=angular.isDefined($attrs.boundaryLinks)?$scope.$parent.$eval($attrs.boundaryLinks):uibPaginationConfig.boundaryLinks,$scope.directionLinks=angular.isDefined($attrs.directionLinks)?$scope.$parent.$eval($attrs.directionLinks):uibPaginationConfig.directionLinks,$attrs.$set("role","menu"),uibPaging.create(this,$scope,$attrs),$attrs.maxSize&&ctrl._watchers.push($scope.$parent.$watch($parse($attrs.maxSize),function(value){maxSize=parseInt(value,10),ctrl.render()}));var originalRender=this.render;this.render=function(){originalRender(),$scope.page>0&&$scope.page<=$scope.totalPages&&($scope.pages=getPages($scope.page,$scope.totalPages))}}]).constant("uibPaginationConfig",{itemsPerPage:10,boundaryLinks:!1,boundaryLinkNumbers:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0,forceEllipses:!1}).directive("uibPagination",["$parse","uibPaginationConfig",function($parse,uibPaginationConfig){return{scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@",ngDisabled:"="},require:["uibPagination","?ngModel"],restrict:"A",controller:"UibPaginationController",controllerAs:"pagination",templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/pagination/pagination.html"},link:function(scope,element,attrs,ctrls){element.addClass("pagination");var paginationCtrl=ctrls[0],ngModelCtrl=ctrls[1];ngModelCtrl&&paginationCtrl.init(ngModelCtrl,uibPaginationConfig)}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.stackedMap"]).provider("$uibTooltip",function(){function snake_case(name){var regexp=/[A-Z]/g,separator="-";return name.replace(regexp,function(letter,pos){return(pos?separator:"")+letter.toLowerCase()})}var defaultOptions={placement:"top",placementClassPrefix:"",animation:!0,popupDelay:0,popupCloseDelay:0,useContentExp:!1},triggerMap={mouseenter:"mouseleave",click:"click",outsideClick:"outsideClick",focus:"blur",none:""},globalOptions={};this.options=function(value){angular.extend(globalOptions,value)},this.setTriggers=function(triggers){angular.extend(triggerMap,triggers)},this.$get=["$window","$compile","$timeout","$document","$uibPosition","$interpolate","$rootScope","$parse","$$stackedMap",function($window,$compile,$timeout,$document,$position,$interpolate,$rootScope,$parse,$$stackedMap){function keypressListener(e){if(27===e.which){var last=openedTooltips.top();last&&(last.value.close(),last=null)}}var openedTooltips=$$stackedMap.createNew();return $document.on("keyup",keypressListener),$rootScope.$on("$destroy",function(){$document.off("keyup",keypressListener)}),function(ttType,prefix,defaultTriggerShow,options){function getTriggers(trigger){var show=(trigger||options.trigger||defaultTriggerShow).split(" "),hide=show.map(function(trigger){return triggerMap[trigger]||trigger});return{show:show,hide:hide}}options=angular.extend({},defaultOptions,globalOptions,options);var directiveName=snake_case(ttType),startSym=$interpolate.startSymbol(),endSym=$interpolate.endSymbol(),template="<div "+directiveName+'-popup uib-title="'+startSym+"title"+endSym+'" '+(options.useContentExp?'content-exp="contentExp()" ':'content="'+startSym+"content"+endSym+'" ')+'origin-scope="origScope" class="uib-position-measure '+prefix+'" tooltip-animation-class="fade"uib-tooltip-classes ng-class="{ in: isOpen }" ></div>';return{compile:function(tElem,tAttrs){var tooltipLinker=$compile(template);return function(scope,element,attrs,tooltipCtrl){function toggleTooltipBind(){ttScope.isOpen?hideTooltipBind():showTooltipBind()}function showTooltipBind(){hasEnableExp&&!scope.$eval(attrs[prefix+"Enable"])||(cancelHide(),prepareTooltip(),ttScope.popupDelay?showTimeout||(showTimeout=$timeout(show,ttScope.popupDelay,!1)):show())}function hideTooltipBind(){cancelShow(),ttScope.popupCloseDelay?hideTimeout||(hideTimeout=$timeout(hide,ttScope.popupCloseDelay,!1)):hide()}function show(){return cancelShow(),cancelHide(),ttScope.content?(createTooltip(),void ttScope.$evalAsync(function(){ttScope.isOpen=!0,assignIsOpen(!0),positionTooltip()})):angular.noop}function cancelShow(){showTimeout&&($timeout.cancel(showTimeout),showTimeout=null),positionTimeout&&($timeout.cancel(positionTimeout),positionTimeout=null)}function hide(){ttScope&&ttScope.$evalAsync(function(){ttScope&&(ttScope.isOpen=!1,assignIsOpen(!1),ttScope.animation?transitionTimeout||(transitionTimeout=$timeout(removeTooltip,150,!1)):removeTooltip())})}function cancelHide(){hideTimeout&&($timeout.cancel(hideTimeout),hideTimeout=null),transitionTimeout&&($timeout.cancel(transitionTimeout),transitionTimeout=null)}function createTooltip(){tooltip||(tooltipLinkedScope=ttScope.$new(),tooltip=tooltipLinker(tooltipLinkedScope,function(tooltip){appendToBody?$document.find("body").append(tooltip):element.after(tooltip)}),openedTooltips.add(ttScope,{close:hide}),prepObservers())}function removeTooltip(){cancelShow(),cancelHide(),unregisterObservers(),tooltip&&(tooltip.remove(),tooltip=null,adjustmentTimeout&&$timeout.cancel(adjustmentTimeout)),openedTooltips.remove(ttScope),tooltipLinkedScope&&(tooltipLinkedScope.$destroy(),tooltipLinkedScope=null)}function prepareTooltip(){ttScope.title=attrs[prefix+"Title"],contentParse?ttScope.content=contentParse(scope):ttScope.content=attrs[ttType],ttScope.popupClass=attrs[prefix+"Class"],ttScope.placement=angular.isDefined(attrs[prefix+"Placement"])?attrs[prefix+"Placement"]:options.placement;var placement=$position.parsePlacement(ttScope.placement);lastPlacement=placement[1]?placement[0]+"-"+placement[1]:placement[0];var delay=parseInt(attrs[prefix+"PopupDelay"],10),closeDelay=parseInt(attrs[prefix+"PopupCloseDelay"],10);ttScope.popupDelay=isNaN(delay)?options.popupDelay:delay,ttScope.popupCloseDelay=isNaN(closeDelay)?options.popupCloseDelay:closeDelay}function assignIsOpen(isOpen){isOpenParse&&angular.isFunction(isOpenParse.assign)&&isOpenParse.assign(scope,isOpen)}function prepObservers(){observers.length=0,contentParse?(observers.push(scope.$watch(contentParse,function(val){ttScope.content=val,!val&&ttScope.isOpen&&hide()})),observers.push(tooltipLinkedScope.$watch(function(){repositionScheduled||(repositionScheduled=!0,tooltipLinkedScope.$$postDigest(function(){repositionScheduled=!1,ttScope&&ttScope.isOpen&&positionTooltip()}))}))):observers.push(attrs.$observe(ttType,function(val){ttScope.content=val,!val&&ttScope.isOpen?hide():positionTooltip()})),observers.push(attrs.$observe(prefix+"Title",function(val){ttScope.title=val,ttScope.isOpen&&positionTooltip()})),observers.push(attrs.$observe(prefix+"Placement",function(val){ttScope.placement=val?val:options.placement,ttScope.isOpen&&positionTooltip()}))}function unregisterObservers(){observers.length&&(angular.forEach(observers,function(observer){observer()}),observers.length=0)}function bodyHideTooltipBind(e){ttScope&&ttScope.isOpen&&tooltip&&(element[0].contains(e.target)||tooltip[0].contains(e.target)||hideTooltipBind())}function hideOnEscapeKey(e){27===e.which&&hideTooltipBind()}function prepTriggers(){var showTriggers=[],hideTriggers=[],val=scope.$eval(attrs[prefix+"Trigger"]);unregisterTriggers(),angular.isObject(val)?(Object.keys(val).forEach(function(key){showTriggers.push(key),hideTriggers.push(val[key])}),triggers={show:showTriggers,hide:hideTriggers}):triggers=getTriggers(val),"none"!==triggers.show&&triggers.show.forEach(function(trigger,idx){"outsideClick"===trigger?(element.on("click",toggleTooltipBind),$document.on("click",bodyHideTooltipBind)):trigger===triggers.hide[idx]?element.on(trigger,toggleTooltipBind):trigger&&(element.on(trigger,showTooltipBind),element.on(triggers.hide[idx],hideTooltipBind)),element.on("keypress",hideOnEscapeKey)})}var tooltip,tooltipLinkedScope,transitionTimeout,showTimeout,hideTimeout,positionTimeout,adjustmentTimeout,lastPlacement,appendToBody=!!angular.isDefined(options.appendToBody)&&options.appendToBody,triggers=getTriggers(void 0),hasEnableExp=angular.isDefined(attrs[prefix+"Enable"]),ttScope=scope.$new(!0),repositionScheduled=!1,isOpenParse=!!angular.isDefined(attrs[prefix+"IsOpen"])&&$parse(attrs[prefix+"IsOpen"]),contentParse=!!options.useContentExp&&$parse(attrs[ttType]),observers=[],positionTooltip=function(){tooltip&&tooltip.html()&&(positionTimeout||(positionTimeout=$timeout(function(){var ttPosition=$position.positionElements(element,tooltip,ttScope.placement,appendToBody),initialHeight=angular.isDefined(tooltip.offsetHeight)?tooltip.offsetHeight:tooltip.prop("offsetHeight"),elementPos=appendToBody?$position.offset(element):$position.position(element);tooltip.css({top:ttPosition.top+"px",left:ttPosition.left+"px"});var placementClasses=ttPosition.placement.split("-");tooltip.hasClass(placementClasses[0])||(tooltip.removeClass(lastPlacement.split("-")[0]),tooltip.addClass(placementClasses[0])),tooltip.hasClass(options.placementClassPrefix+ttPosition.placement)||(tooltip.removeClass(options.placementClassPrefix+lastPlacement),tooltip.addClass(options.placementClassPrefix+ttPosition.placement)),adjustmentTimeout=$timeout(function(){var currentHeight=angular.isDefined(tooltip.offsetHeight)?tooltip.offsetHeight:tooltip.prop("offsetHeight"),adjustment=$position.adjustTop(placementClasses,elementPos,initialHeight,currentHeight);adjustment&&tooltip.css(adjustment),adjustmentTimeout=null},0,!1),tooltip.hasClass("uib-position-measure")?($position.positionArrow(tooltip,ttPosition.placement),tooltip.removeClass("uib-position-measure")):lastPlacement!==ttPosition.placement&&$position.positionArrow(tooltip,ttPosition.placement),lastPlacement=ttPosition.placement,positionTimeout=null},0,!1)))};ttScope.origScope=scope,ttScope.isOpen=!1,ttScope.contentExp=function(){return ttScope.content},attrs.$observe("disabled",function(val){val&&cancelShow(),val&&ttScope.isOpen&&hide()}),isOpenParse&&scope.$watch(isOpenParse,function(val){ttScope&&!val===ttScope.isOpen&&toggleTooltipBind()});var unregisterTriggers=function(){triggers.show.forEach(function(trigger){"outsideClick"===trigger?element.off("click",toggleTooltipBind):(element.off(trigger,showTooltipBind),element.off(trigger,toggleTooltipBind)),element.off("keypress",hideOnEscapeKey);
+}),triggers.hide.forEach(function(trigger){"outsideClick"===trigger?$document.off("click",bodyHideTooltipBind):element.off(trigger,hideTooltipBind)})};prepTriggers();var animation=scope.$eval(attrs[prefix+"Animation"]);ttScope.animation=angular.isDefined(animation)?!!animation:options.animation;var appendToBodyVal,appendKey=prefix+"AppendToBody";appendToBodyVal=appendKey in attrs&&void 0===attrs[appendKey]||scope.$eval(attrs[appendKey]),appendToBody=angular.isDefined(appendToBodyVal)?appendToBodyVal:appendToBody,scope.$on("$destroy",function(){unregisterTriggers(),removeTooltip(),ttScope=null})}}}}}]}).directive("uibTooltipTemplateTransclude",["$animate","$sce","$compile","$templateRequest",function($animate,$sce,$compile,$templateRequest){return{link:function(scope,elem,attrs){var currentScope,previousElement,currentElement,origScope=scope.$eval(attrs.tooltipTemplateTranscludeScope),changeCounter=0,cleanupLastIncludeContent=function(){previousElement&&(previousElement.remove(),previousElement=null),currentScope&&(currentScope.$destroy(),currentScope=null),currentElement&&($animate.leave(currentElement).then(function(){previousElement=null}),previousElement=currentElement,currentElement=null)};scope.$watch($sce.parseAsResourceUrl(attrs.uibTooltipTemplateTransclude),function(src){var thisChangeId=++changeCounter;src?($templateRequest(src,!0).then(function(response){if(thisChangeId===changeCounter){var newScope=origScope.$new(),template=response,clone=$compile(template)(newScope,function(clone){cleanupLastIncludeContent(),$animate.enter(clone,elem)});currentScope=newScope,currentElement=clone,currentScope.$emit("$includeContentLoaded",src)}},function(){thisChangeId===changeCounter&&(cleanupLastIncludeContent(),scope.$emit("$includeContentError",src))}),scope.$emit("$includeContentRequested",src)):cleanupLastIncludeContent()}),scope.$on("$destroy",cleanupLastIncludeContent)}}}]).directive("uibTooltipClasses",["$uibPosition",function($uibPosition){return{restrict:"A",link:function(scope,element,attrs){if(scope.placement){var position=$uibPosition.parsePlacement(scope.placement);element.addClass(position[0])}scope.popupClass&&element.addClass(scope.popupClass),scope.animation&&element.addClass(attrs.tooltipAnimationClass)}}}]).directive("uibTooltipPopup",function(){return{restrict:"A",scope:{content:"@"},templateUrl:"uib/template/tooltip/tooltip-popup.html"}}).directive("uibTooltip",["$uibTooltip",function($uibTooltip){return $uibTooltip("uibTooltip","tooltip","mouseenter")}]).directive("uibTooltipTemplatePopup",function(){return{restrict:"A",scope:{contentExp:"&",originScope:"&"},templateUrl:"uib/template/tooltip/tooltip-template-popup.html"}}).directive("uibTooltipTemplate",["$uibTooltip",function($uibTooltip){return $uibTooltip("uibTooltipTemplate","tooltip","mouseenter",{useContentExp:!0})}]).directive("uibTooltipHtmlPopup",function(){return{restrict:"A",scope:{contentExp:"&"},templateUrl:"uib/template/tooltip/tooltip-html-popup.html"}}).directive("uibTooltipHtml",["$uibTooltip",function($uibTooltip){return $uibTooltip("uibTooltipHtml","tooltip","mouseenter",{useContentExp:!0})}]),angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("uibPopoverTemplatePopup",function(){return{restrict:"A",scope:{uibTitle:"@",contentExp:"&",originScope:"&"},templateUrl:"uib/template/popover/popover-template.html"}}).directive("uibPopoverTemplate",["$uibTooltip",function($uibTooltip){return $uibTooltip("uibPopoverTemplate","popover","click",{useContentExp:!0})}]).directive("uibPopoverHtmlPopup",function(){return{restrict:"A",scope:{contentExp:"&",uibTitle:"@"},templateUrl:"uib/template/popover/popover-html.html"}}).directive("uibPopoverHtml",["$uibTooltip",function($uibTooltip){return $uibTooltip("uibPopoverHtml","popover","click",{useContentExp:!0})}]).directive("uibPopoverPopup",function(){return{restrict:"A",scope:{uibTitle:"@",content:"@"},templateUrl:"uib/template/popover/popover.html"}}).directive("uibPopover",["$uibTooltip",function($uibTooltip){return $uibTooltip("uibPopover","popover","click")}]),angular.module("ui.bootstrap.progressbar",[]).constant("uibProgressConfig",{animate:!0,max:100}).controller("UibProgressController",["$scope","$attrs","uibProgressConfig",function($scope,$attrs,progressConfig){function getMaxOrDefault(){return angular.isDefined($scope.maxParam)?$scope.maxParam:progressConfig.max}var self=this,animate=angular.isDefined($attrs.animate)?$scope.$parent.$eval($attrs.animate):progressConfig.animate;this.bars=[],$scope.max=getMaxOrDefault(),this.addBar=function(bar,element,attrs){animate||element.css({transition:"none"}),this.bars.push(bar),bar.max=getMaxOrDefault(),bar.title=attrs&&angular.isDefined(attrs.title)?attrs.title:"progressbar",bar.$watch("value",function(value){bar.recalculatePercentage()}),bar.recalculatePercentage=function(){var totalPercentage=self.bars.reduce(function(total,bar){return bar.percent=+(100*bar.value/bar.max).toFixed(2),total+bar.percent},0);totalPercentage>100&&(bar.percent-=totalPercentage-100)},bar.$on("$destroy",function(){element=null,self.removeBar(bar)})},this.removeBar=function(bar){this.bars.splice(this.bars.indexOf(bar),1),this.bars.forEach(function(bar){bar.recalculatePercentage()})},$scope.$watch("maxParam",function(maxParam){self.bars.forEach(function(bar){bar.max=getMaxOrDefault(),bar.recalculatePercentage()})})}]).directive("uibProgress",function(){return{replace:!0,transclude:!0,controller:"UibProgressController",require:"uibProgress",scope:{maxParam:"=?max"},templateUrl:"uib/template/progressbar/progress.html"}}).directive("uibBar",function(){return{replace:!0,transclude:!0,require:"^uibProgress",scope:{value:"=",type:"@"},templateUrl:"uib/template/progressbar/bar.html",link:function(scope,element,attrs,progressCtrl){progressCtrl.addBar(scope,element,attrs)}}}).directive("uibProgressbar",function(){return{replace:!0,transclude:!0,controller:"UibProgressController",scope:{value:"=",maxParam:"=?max",type:"@"},templateUrl:"uib/template/progressbar/progressbar.html",link:function(scope,element,attrs,progressCtrl){progressCtrl.addBar(scope,angular.element(element.children()[0]),{title:attrs.title})}}}),angular.module("ui.bootstrap.rating",[]).constant("uibRatingConfig",{max:5,stateOn:null,stateOff:null,enableReset:!0,titles:["one","two","three","four","five"]}).controller("UibRatingController",["$scope","$attrs","uibRatingConfig",function($scope,$attrs,ratingConfig){var ngModelCtrl={$setViewValue:angular.noop},self=this;this.init=function(ngModelCtrl_){ngModelCtrl=ngModelCtrl_,ngModelCtrl.$render=this.render,ngModelCtrl.$formatters.push(function(value){return angular.isNumber(value)&&value<<0!==value&&(value=Math.round(value)),value}),this.stateOn=angular.isDefined($attrs.stateOn)?$scope.$parent.$eval($attrs.stateOn):ratingConfig.stateOn,this.stateOff=angular.isDefined($attrs.stateOff)?$scope.$parent.$eval($attrs.stateOff):ratingConfig.stateOff,this.enableReset=angular.isDefined($attrs.enableReset)?$scope.$parent.$eval($attrs.enableReset):ratingConfig.enableReset;var tmpTitles=angular.isDefined($attrs.titles)?$scope.$parent.$eval($attrs.titles):ratingConfig.titles;this.titles=angular.isArray(tmpTitles)&&tmpTitles.length>0?tmpTitles:ratingConfig.titles;var ratingStates=angular.isDefined($attrs.ratingStates)?$scope.$parent.$eval($attrs.ratingStates):new Array(angular.isDefined($attrs.max)?$scope.$parent.$eval($attrs.max):ratingConfig.max);$scope.range=this.buildTemplateObjects(ratingStates)},this.buildTemplateObjects=function(states){for(var i=0,n=states.length;i<n;i++)states[i]=angular.extend({index:i},{stateOn:this.stateOn,stateOff:this.stateOff,title:this.getTitle(i)},states[i]);return states},this.getTitle=function(index){return index>=this.titles.length?index+1:this.titles[index]},$scope.rate=function(value){if(!$scope.readonly&&value>=0&&value<=$scope.range.length){var newViewValue=self.enableReset&&ngModelCtrl.$viewValue===value?0:value;ngModelCtrl.$setViewValue(newViewValue),ngModelCtrl.$render()}},$scope.enter=function(value){$scope.readonly||($scope.value=value),$scope.onHover({value:value})},$scope.reset=function(){$scope.value=ngModelCtrl.$viewValue,$scope.onLeave()},$scope.onKeydown=function(evt){/(37|38|39|40)/.test(evt.which)&&(evt.preventDefault(),evt.stopPropagation(),$scope.rate($scope.value+(38===evt.which||39===evt.which?1:-1)))},this.render=function(){$scope.value=ngModelCtrl.$viewValue,$scope.title=self.getTitle($scope.value-1)}}]).directive("uibRating",function(){return{require:["uibRating","ngModel"],restrict:"A",scope:{readonly:"=?readOnly",onHover:"&",onLeave:"&"},controller:"UibRatingController",templateUrl:"uib/template/rating/rating.html",link:function(scope,element,attrs,ctrls){var ratingCtrl=ctrls[0],ngModelCtrl=ctrls[1];ratingCtrl.init(ngModelCtrl)}}}),angular.module("ui.bootstrap.tabs",[]).controller("UibTabsetController",["$scope",function($scope){function findTabIndex(index){for(var i=0;i<ctrl.tabs.length;i++)if(ctrl.tabs[i].index===index)return i}var oldIndex,ctrl=this;ctrl.tabs=[],ctrl.select=function(index,evt){if(!destroyed){var previousIndex=findTabIndex(oldIndex),previousSelected=ctrl.tabs[previousIndex];if(previousSelected){if(previousSelected.tab.onDeselect({$event:evt,$selectedIndex:index}),evt&&evt.isDefaultPrevented())return;previousSelected.tab.active=!1}var selected=ctrl.tabs[index];selected?(selected.tab.onSelect({$event:evt}),selected.tab.active=!0,ctrl.active=selected.index,oldIndex=selected.index):!selected&&angular.isDefined(oldIndex)&&(ctrl.active=null,oldIndex=null)}},ctrl.addTab=function(tab){if(ctrl.tabs.push({tab:tab,index:tab.index}),ctrl.tabs.sort(function(t1,t2){return t1.index>t2.index?1:t1.index<t2.index?-1:0}),tab.index===ctrl.active||!angular.isDefined(ctrl.active)&&1===ctrl.tabs.length){var newActiveIndex=findTabIndex(tab.index);ctrl.select(newActiveIndex)}},ctrl.removeTab=function(tab){for(var index,i=0;i<ctrl.tabs.length;i++)if(ctrl.tabs[i].tab===tab){index=i;break}if(ctrl.tabs[index].index===ctrl.active){var newActiveTabIndex=index===ctrl.tabs.length-1?index-1:index+1%ctrl.tabs.length;ctrl.select(newActiveTabIndex)}ctrl.tabs.splice(index,1)},$scope.$watch("tabset.active",function(val){angular.isDefined(val)&&val!==oldIndex&&ctrl.select(findTabIndex(val))});var destroyed;$scope.$on("$destroy",function(){destroyed=!0})}]).directive("uibTabset",function(){return{transclude:!0,replace:!0,scope:{},bindToController:{active:"=?",type:"@"},controller:"UibTabsetController",controllerAs:"tabset",templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/tabs/tabset.html"},link:function(scope,element,attrs){scope.vertical=!!angular.isDefined(attrs.vertical)&&scope.$parent.$eval(attrs.vertical),scope.justified=!!angular.isDefined(attrs.justified)&&scope.$parent.$eval(attrs.justified)}}}).directive("uibTab",["$parse",function($parse){return{require:"^uibTabset",replace:!0,templateUrl:function(element,attrs){return attrs.templateUrl||"uib/template/tabs/tab.html"},transclude:!0,scope:{heading:"@",index:"=?",classes:"@?",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},controllerAs:"tab",link:function(scope,elm,attrs,tabsetCtrl,transclude){scope.disabled=!1,attrs.disable&&scope.$parent.$watch($parse(attrs.disable),function(value){scope.disabled=!!value}),angular.isUndefined(attrs.index)&&(tabsetCtrl.tabs&&tabsetCtrl.tabs.length?scope.index=Math.max.apply(null,tabsetCtrl.tabs.map(function(t){return t.index}))+1:scope.index=0),angular.isUndefined(attrs.classes)&&(scope.classes=""),scope.select=function(evt){if(!scope.disabled){for(var index,i=0;i<tabsetCtrl.tabs.length;i++)if(tabsetCtrl.tabs[i].tab===scope){index=i;break}tabsetCtrl.select(index,evt)}},tabsetCtrl.addTab(scope),scope.$on("$destroy",function(){tabsetCtrl.removeTab(scope)}),scope.$transcludeFn=transclude}}}]).directive("uibTabHeadingTransclude",function(){return{restrict:"A",require:"^uibTab",link:function(scope,elm){scope.$watch("headingElement",function(heading){heading&&(elm.html(""),elm.append(heading))})}}}).directive("uibTabContentTransclude",function(){function isTabHeading(node){return node.tagName&&(node.hasAttribute("uib-tab-heading")||node.hasAttribute("data-uib-tab-heading")||node.hasAttribute("x-uib-tab-heading")||"uib-tab-heading"===node.tagName.toLowerCase()||"data-uib-tab-heading"===node.tagName.toLowerCase()||"x-uib-tab-heading"===node.tagName.toLowerCase()||"uib:tab-heading"===node.tagName.toLowerCase())}return{restrict:"A",require:"^uibTabset",link:function(scope,elm,attrs){var tab=scope.$eval(attrs.uibTabContentTransclude).tab;tab.$transcludeFn(tab.$parent,function(contents){angular.forEach(contents,function(node){isTabHeading(node)?tab.headingElement=node:elm.append(node)})})}}}),angular.module("ui.bootstrap.timepicker",[]).constant("uibTimepickerConfig",{hourStep:1,minuteStep:1,secondStep:1,showMeridian:!0,showSeconds:!1,meridians:null,readonlyInput:!1,mousewheel:!0,arrowkeys:!0,showSpinners:!0,templateUrl:"uib/template/timepicker/timepicker.html"}).controller("UibTimepickerController",["$scope","$element","$attrs","$parse","$log","$locale","uibTimepickerConfig",function($scope,$element,$attrs,$parse,$log,$locale,timepickerConfig){function getHoursFromTemplate(){var hours=+$scope.hours,valid=$scope.showMeridian?hours>0&&hours<13:hours>=0&&hours<24;if(valid&&""!==$scope.hours)return $scope.showMeridian&&(12===hours&&(hours=0),$scope.meridian===meridians[1]&&(hours+=12)),hours}function getMinutesFromTemplate(){var minutes=+$scope.minutes,valid=minutes>=0&&minutes<60;if(valid&&""!==$scope.minutes)return minutes}function getSecondsFromTemplate(){var seconds=+$scope.seconds;return seconds>=0&&seconds<60?seconds:void 0}function pad(value,noPad){return null===value?"":angular.isDefined(value)&&value.toString().length<2&&!noPad?"0"+value:value.toString()}function refresh(keyboardChange){makeValid(),ngModelCtrl.$setViewValue(new Date(selected)),updateTemplate(keyboardChange)}function makeValid(){hoursModelCtrl&&hoursModelCtrl.$setValidity("hours",!0),minutesModelCtrl&&minutesModelCtrl.$setValidity("minutes",!0),secondsModelCtrl&&secondsModelCtrl.$setValidity("seconds",!0),ngModelCtrl.$setValidity("time",!0),$scope.invalidHours=!1,$scope.invalidMinutes=!1,$scope.invalidSeconds=!1}function updateTemplate(keyboardChange){if(ngModelCtrl.$modelValue){var hours=selected.getHours(),minutes=selected.getMinutes(),seconds=selected.getSeconds();$scope.showMeridian&&(hours=0===hours||12===hours?12:hours%12),$scope.hours="h"===keyboardChange?hours:pad(hours,!padHours),"m"!==keyboardChange&&($scope.minutes=pad(minutes)),$scope.meridian=selected.getHours()<12?meridians[0]:meridians[1],"s"!==keyboardChange&&($scope.seconds=pad(seconds)),$scope.meridian=selected.getHours()<12?meridians[0]:meridians[1]}else $scope.hours=null,$scope.minutes=null,$scope.seconds=null,$scope.meridian=meridians[0]}function addSecondsToSelected(seconds){selected=addSeconds(selected,seconds),refresh()}function addMinutes(selected,minutes){return addSeconds(selected,60*minutes)}function addSeconds(date,seconds){var dt=new Date(date.getTime()+1e3*seconds),newDate=new Date(date);return newDate.setHours(dt.getHours(),dt.getMinutes(),dt.getSeconds()),newDate}function modelIsEmpty(){return(null===$scope.hours||""===$scope.hours)&&(null===$scope.minutes||""===$scope.minutes)&&(!$scope.showSeconds||$scope.showSeconds&&(null===$scope.seconds||""===$scope.seconds))}var hoursModelCtrl,minutesModelCtrl,secondsModelCtrl,selected=new Date,watchers=[],ngModelCtrl={$setViewValue:angular.noop},meridians=angular.isDefined($attrs.meridians)?$scope.$parent.$eval($attrs.meridians):timepickerConfig.meridians||$locale.DATETIME_FORMATS.AMPMS,padHours=!angular.isDefined($attrs.padHours)||$scope.$parent.$eval($attrs.padHours);$scope.tabindex=angular.isDefined($attrs.tabindex)?$attrs.tabindex:0,$element.removeAttr("tabindex"),this.init=function(ngModelCtrl_,inputs){ngModelCtrl=ngModelCtrl_,ngModelCtrl.$render=this.render,ngModelCtrl.$formatters.unshift(function(modelValue){return modelValue?new Date(modelValue):null});var hoursInputEl=inputs.eq(0),minutesInputEl=inputs.eq(1),secondsInputEl=inputs.eq(2);hoursModelCtrl=hoursInputEl.controller("ngModel"),minutesModelCtrl=minutesInputEl.controller("ngModel"),secondsModelCtrl=secondsInputEl.controller("ngModel");var mousewheel=angular.isDefined($attrs.mousewheel)?$scope.$parent.$eval($attrs.mousewheel):timepickerConfig.mousewheel;mousewheel&&this.setupMousewheelEvents(hoursInputEl,minutesInputEl,secondsInputEl);var arrowkeys=angular.isDefined($attrs.arrowkeys)?$scope.$parent.$eval($attrs.arrowkeys):timepickerConfig.arrowkeys;arrowkeys&&this.setupArrowkeyEvents(hoursInputEl,minutesInputEl,secondsInputEl),$scope.readonlyInput=angular.isDefined($attrs.readonlyInput)?$scope.$parent.$eval($attrs.readonlyInput):timepickerConfig.readonlyInput,this.setupInputEvents(hoursInputEl,minutesInputEl,secondsInputEl)};var hourStep=timepickerConfig.hourStep;$attrs.hourStep&&watchers.push($scope.$parent.$watch($parse($attrs.hourStep),function(value){hourStep=+value}));var minuteStep=timepickerConfig.minuteStep;$attrs.minuteStep&&watchers.push($scope.$parent.$watch($parse($attrs.minuteStep),function(value){minuteStep=+value}));var min;watchers.push($scope.$parent.$watch($parse($attrs.min),function(value){var dt=new Date(value);min=isNaN(dt)?void 0:dt}));var max;watchers.push($scope.$parent.$watch($parse($attrs.max),function(value){var dt=new Date(value);max=isNaN(dt)?void 0:dt}));var disabled=!1;$attrs.ngDisabled&&watchers.push($scope.$parent.$watch($parse($attrs.ngDisabled),function(value){disabled=value})),$scope.noIncrementHours=function(){var incrementedSelected=addMinutes(selected,60*hourStep);return disabled||incrementedSelected>max||incrementedSelected<selected&&incrementedSelected<min},$scope.noDecrementHours=function(){var decrementedSelected=addMinutes(selected,60*-hourStep);return disabled||decrementedSelected<min||decrementedSelected>selected&&decrementedSelected>max},$scope.noIncrementMinutes=function(){var incrementedSelected=addMinutes(selected,minuteStep);return disabled||incrementedSelected>max||incrementedSelected<selected&&incrementedSelected<min},$scope.noDecrementMinutes=function(){var decrementedSelected=addMinutes(selected,-minuteStep);return disabled||decrementedSelected<min||decrementedSelected>selected&&decrementedSelected>max},$scope.noIncrementSeconds=function(){var incrementedSelected=addSeconds(selected,secondStep);return disabled||incrementedSelected>max||incrementedSelected<selected&&incrementedSelected<min},$scope.noDecrementSeconds=function(){var decrementedSelected=addSeconds(selected,-secondStep);return disabled||decrementedSelected<min||decrementedSelected>selected&&decrementedSelected>max},$scope.noToggleMeridian=function(){return selected.getHours()<12?disabled||addMinutes(selected,720)>max:disabled||addMinutes(selected,-720)<min};var secondStep=timepickerConfig.secondStep;$attrs.secondStep&&watchers.push($scope.$parent.$watch($parse($attrs.secondStep),function(value){secondStep=+value})),$scope.showSeconds=timepickerConfig.showSeconds,$attrs.showSeconds&&watchers.push($scope.$parent.$watch($parse($attrs.showSeconds),function(value){$scope.showSeconds=!!value})),$scope.showMeridian=timepickerConfig.showMeridian,$attrs.showMeridian&&watchers.push($scope.$parent.$watch($parse($attrs.showMeridian),function(value){if($scope.showMeridian=!!value,ngModelCtrl.$error.time){var hours=getHoursFromTemplate(),minutes=getMinutesFromTemplate();angular.isDefined(hours)&&angular.isDefined(minutes)&&(selected.setHours(hours),refresh())}else updateTemplate()})),this.setupMousewheelEvents=function(hoursInputEl,minutesInputEl,secondsInputEl){var isScrollingUp=function(e){e.originalEvent&&(e=e.originalEvent);var delta=e.wheelDelta?e.wheelDelta:-e.deltaY;return e.detail||delta>0};hoursInputEl.on("mousewheel wheel",function(e){disabled||$scope.$apply(isScrollingUp(e)?$scope.incrementHours():$scope.decrementHours()),e.preventDefault()}),minutesInputEl.on("mousewheel wheel",function(e){disabled||$scope.$apply(isScrollingUp(e)?$scope.incrementMinutes():$scope.decrementMinutes()),e.preventDefault()}),secondsInputEl.on("mousewheel wheel",function(e){disabled||$scope.$apply(isScrollingUp(e)?$scope.incrementSeconds():$scope.decrementSeconds()),e.preventDefault()})},this.setupArrowkeyEvents=function(hoursInputEl,minutesInputEl,secondsInputEl){hoursInputEl.on("keydown",function(e){disabled||(38===e.which?(e.preventDefault(),$scope.incrementHours(),$scope.$apply()):40===e.which&&(e.preventDefault(),$scope.decrementHours(),$scope.$apply()))}),minutesInputEl.on("keydown",function(e){disabled||(38===e.which?(e.preventDefault(),$scope.incrementMinutes(),$scope.$apply()):40===e.which&&(e.preventDefault(),$scope.decrementMinutes(),$scope.$apply()))}),secondsInputEl.on("keydown",function(e){disabled||(38===e.which?(e.preventDefault(),$scope.incrementSeconds(),$scope.$apply()):40===e.which&&(e.preventDefault(),$scope.decrementSeconds(),$scope.$apply()))})},this.setupInputEvents=function(hoursInputEl,minutesInputEl,secondsInputEl){if($scope.readonlyInput)return $scope.updateHours=angular.noop,$scope.updateMinutes=angular.noop,void($scope.updateSeconds=angular.noop);var invalidate=function(invalidHours,invalidMinutes,invalidSeconds){ngModelCtrl.$setViewValue(null),ngModelCtrl.$setValidity("time",!1),angular.isDefined(invalidHours)&&($scope.invalidHours=invalidHours,hoursModelCtrl&&hoursModelCtrl.$setValidity("hours",!1)),angular.isDefined(invalidMinutes)&&($scope.invalidMinutes=invalidMinutes,minutesModelCtrl&&minutesModelCtrl.$setValidity("minutes",!1)),angular.isDefined(invalidSeconds)&&($scope.invalidSeconds=invalidSeconds,secondsModelCtrl&&secondsModelCtrl.$setValidity("seconds",!1))};$scope.updateHours=function(){var hours=getHoursFromTemplate(),minutes=getMinutesFromTemplate();ngModelCtrl.$setDirty(),angular.isDefined(hours)&&angular.isDefined(minutes)?(selected.setHours(hours),selected.setMinutes(minutes),selected<min||selected>max?invalidate(!0):refresh("h")):invalidate(!0)},hoursInputEl.on("blur",function(e){ngModelCtrl.$setTouched(),modelIsEmpty()?makeValid():null===$scope.hours||""===$scope.hours?invalidate(!0):!$scope.invalidHours&&$scope.hours<10&&$scope.$apply(function(){$scope.hours=pad($scope.hours,!padHours)})}),$scope.updateMinutes=function(){var minutes=getMinutesFromTemplate(),hours=getHoursFromTemplate();ngModelCtrl.$setDirty(),angular.isDefined(minutes)&&angular.isDefined(hours)?(selected.setHours(hours),selected.setMinutes(minutes),selected<min||selected>max?invalidate(void 0,!0):refresh("m")):invalidate(void 0,!0)},minutesInputEl.on("blur",function(e){ngModelCtrl.$setTouched(),modelIsEmpty()?makeValid():null===$scope.minutes?invalidate(void 0,!0):!$scope.invalidMinutes&&$scope.minutes<10&&$scope.$apply(function(){$scope.minutes=pad($scope.minutes)})}),$scope.updateSeconds=function(){var seconds=getSecondsFromTemplate();ngModelCtrl.$setDirty(),angular.isDefined(seconds)?(selected.setSeconds(seconds),refresh("s")):invalidate(void 0,void 0,!0)},secondsInputEl.on("blur",function(e){modelIsEmpty()?makeValid():!$scope.invalidSeconds&&$scope.seconds<10&&$scope.$apply(function(){$scope.seconds=pad($scope.seconds)})})},this.render=function(){var date=ngModelCtrl.$viewValue;isNaN(date)?(ngModelCtrl.$setValidity("time",!1),$log.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.')):(date&&(selected=date),selected<min||selected>max?(ngModelCtrl.$setValidity("time",!1),$scope.invalidHours=!0,$scope.invalidMinutes=!0):makeValid(),updateTemplate())},$scope.showSpinners=angular.isDefined($attrs.showSpinners)?$scope.$parent.$eval($attrs.showSpinners):timepickerConfig.showSpinners,$scope.incrementHours=function(){$scope.noIncrementHours()||addSecondsToSelected(60*hourStep*60)},$scope.decrementHours=function(){$scope.noDecrementHours()||addSecondsToSelected(60*-hourStep*60)},$scope.incrementMinutes=function(){$scope.noIncrementMinutes()||addSecondsToSelected(60*minuteStep)},$scope.decrementMinutes=function(){$scope.noDecrementMinutes()||addSecondsToSelected(60*-minuteStep)},$scope.incrementSeconds=function(){$scope.noIncrementSeconds()||addSecondsToSelected(secondStep)},$scope.decrementSeconds=function(){$scope.noDecrementSeconds()||addSecondsToSelected(-secondStep)},$scope.toggleMeridian=function(){var minutes=getMinutesFromTemplate(),hours=getHoursFromTemplate();$scope.noToggleMeridian()||(angular.isDefined(minutes)&&angular.isDefined(hours)?addSecondsToSelected(720*(selected.getHours()<12?60:-60)):$scope.meridian=$scope.meridian===meridians[0]?meridians[1]:meridians[0])},$scope.blur=function(){ngModelCtrl.$setTouched()},$scope.$on("$destroy",function(){for(;watchers.length;)watchers.shift()()})}]).directive("uibTimepicker",["uibTimepickerConfig",function(uibTimepickerConfig){return{require:["uibTimepicker","?^ngModel"],restrict:"A",controller:"UibTimepickerController",controllerAs:"timepicker",scope:{},templateUrl:function(element,attrs){return attrs.templateUrl||uibTimepickerConfig.templateUrl},link:function(scope,element,attrs,ctrls){var timepickerCtrl=ctrls[0],ngModelCtrl=ctrls[1];ngModelCtrl&&timepickerCtrl.init(ngModelCtrl,element.find("input"))}}}]),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.debounce","ui.bootstrap.position"]).factory("uibTypeaheadParser",["$parse",function($parse){var TYPEAHEAD_REGEXP=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/;return{parse:function(input){var match=input.match(TYPEAHEAD_REGEXP);if(!match)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+input+'".');return{itemName:match[3],source:$parse(match[4]),viewMapper:$parse(match[2]||match[1]),modelMapper:$parse(match[1])}}}}]).controller("UibTypeaheadController",["$scope","$element","$attrs","$compile","$parse","$q","$timeout","$document","$window","$rootScope","$$debounce","$uibPosition","uibTypeaheadParser",function(originalScope,element,attrs,$compile,$parse,$q,$timeout,$document,$window,$rootScope,$$debounce,$position,typeaheadParser){function fireRecalculating(){scope.moveInProgress||(scope.moveInProgress=!0,scope.$digest()),debouncedRecalculate()}function recalculatePosition(){scope.position=appendToBody?$position.offset(element):$position.position(element),scope.position.top+=element.prop("offsetHeight")}function extractOptions(ngModelCtrl){var ngModelOptions;return angular.version.minor<6?(ngModelOptions=ngModelCtrl.$options||{},ngModelOptions.getOption=function(key){return ngModelOptions[key]}):ngModelOptions=ngModelCtrl.$options,ngModelOptions}var modelCtrl,ngModelOptions,HOT_KEYS=[9,13,27,38,40],eventDebounceTime=200,minLength=originalScope.$eval(attrs.typeaheadMinLength);minLength||0===minLength||(minLength=1),originalScope.$watch(attrs.typeaheadMinLength,function(newVal){minLength=newVal||0===newVal?newVal:1});var waitTime=originalScope.$eval(attrs.typeaheadWaitMs)||0,isEditable=originalScope.$eval(attrs.typeaheadEditable)!==!1;originalScope.$watch(attrs.typeaheadEditable,function(newVal){isEditable=newVal!==!1});var hasFocus,selected,isLoadingSetter=$parse(attrs.typeaheadLoading).assign||angular.noop,isSelectEvent=attrs.typeaheadShouldSelect?$parse(attrs.typeaheadShouldSelect):function(scope,vals){var evt=vals.$event;return 13===evt.which||9===evt.which},onSelectCallback=$parse(attrs.typeaheadOnSelect),isSelectOnBlur=!!angular.isDefined(attrs.typeaheadSelectOnBlur)&&originalScope.$eval(attrs.typeaheadSelectOnBlur),isNoResultsSetter=$parse(attrs.typeaheadNoResults).assign||angular.noop,inputFormatter=attrs.typeaheadInputFormatter?$parse(attrs.typeaheadInputFormatter):void 0,appendToBody=!!attrs.typeaheadAppendToBody&&originalScope.$eval(attrs.typeaheadAppendToBody),appendTo=attrs.typeaheadAppendTo?originalScope.$eval(attrs.typeaheadAppendTo):null,focusFirst=originalScope.$eval(attrs.typeaheadFocusFirst)!==!1,selectOnExact=!!attrs.typeaheadSelectOnExact&&originalScope.$eval(attrs.typeaheadSelectOnExact),isOpenSetter=$parse(attrs.typeaheadIsOpen).assign||angular.noop,showHint=originalScope.$eval(attrs.typeaheadShowHint)||!1,parsedModel=$parse(attrs.ngModel),invokeModelSetter=$parse(attrs.ngModel+"($$$p)"),$setModelValue=function(scope,newValue){return angular.isFunction(parsedModel(originalScope))&&ngModelOptions.getOption("getterSetter")?invokeModelSetter(scope,{$$$p:newValue}):parsedModel.assign(scope,newValue)},parserResult=typeaheadParser.parse(attrs.uibTypeahead),scope=originalScope.$new(),offDestroy=originalScope.$on("$destroy",function(){scope.$destroy()});scope.$on("$destroy",offDestroy);var popupId="typeahead-"+scope.$id+"-"+Math.floor(1e4*Math.random());element.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":popupId});var inputsContainer,hintInputElem;showHint&&(inputsContainer=angular.element("<div></div>"),inputsContainer.css("position","relative"),element.after(inputsContainer),hintInputElem=element.clone(),hintInputElem.attr("placeholder",""),hintInputElem.attr("tabindex","-1"),hintInputElem.val(""),hintInputElem.css({position:"absolute",top:"0px",left:"0px","border-color":"transparent","box-shadow":"none",opacity:1,background:"none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255)",color:"#999"}),element.css({position:"relative","vertical-align":"top","background-color":"transparent"}),hintInputElem.attr("id")&&hintInputElem.removeAttr("id"),inputsContainer.append(hintInputElem),hintInputElem.after(element));var popUpEl=angular.element("<div uib-typeahead-popup></div>");popUpEl.attr({id:popupId,matches:"matches",active:"activeIdx",select:"select(activeIdx, evt)","move-in-progress":"moveInProgress",query:"query",position:"position","assign-is-open":"assignIsOpen(isOpen)",debounce:"debounceUpdate"}),angular.isDefined(attrs.typeaheadTemplateUrl)&&popUpEl.attr("template-url",attrs.typeaheadTemplateUrl),angular.isDefined(attrs.typeaheadPopupTemplateUrl)&&popUpEl.attr("popup-template-url",attrs.typeaheadPopupTemplateUrl);var resetHint=function(){showHint&&hintInputElem.val("")},resetMatches=function(){scope.matches=[],scope.activeIdx=-1,element.attr("aria-expanded",!1),resetHint()},getMatchId=function(index){return popupId+"-option-"+index};scope.$watch("activeIdx",function(index){index<0?element.removeAttr("aria-activedescendant"):element.attr("aria-activedescendant",getMatchId(index))});var inputIsExactMatch=function(inputValue,index){return!!(scope.matches.length>index&&inputValue)&&inputValue.toUpperCase()===scope.matches[index].label.toUpperCase()},getMatchesAsync=function(inputValue,evt){var locals={$viewValue:inputValue};isLoadingSetter(originalScope,!0),isNoResultsSetter(originalScope,!1),$q.when(parserResult.source(originalScope,locals)).then(function(matches){var onCurrentRequest=inputValue===modelCtrl.$viewValue;if(onCurrentRequest&&hasFocus)if(matches&&matches.length>0){scope.activeIdx=focusFirst?0:-1,isNoResultsSetter(originalScope,!1),scope.matches.length=0;for(var i=0;i<matches.length;i++)locals[parserResult.itemName]=matches[i],scope.matches.push({id:getMatchId(i),label:parserResult.viewMapper(scope,locals),model:matches[i]});if(scope.query=inputValue,recalculatePosition(),element.attr("aria-expanded",!0),selectOnExact&&1===scope.matches.length&&inputIsExactMatch(inputValue,0)&&(angular.isNumber(scope.debounceUpdate)||angular.isObject(scope.debounceUpdate)?$$debounce(function(){scope.select(0,evt)},angular.isNumber(scope.debounceUpdate)?scope.debounceUpdate:scope.debounceUpdate["default"]):scope.select(0,evt)),showHint){var firstLabel=scope.matches[0].label;angular.isString(inputValue)&&inputValue.length>0&&firstLabel.slice(0,inputValue.length).toUpperCase()===inputValue.toUpperCase()?hintInputElem.val(inputValue+firstLabel.slice(inputValue.length)):hintInputElem.val("")}}else resetMatches(),isNoResultsSetter(originalScope,!0);
+onCurrentRequest&&isLoadingSetter(originalScope,!1)},function(){resetMatches(),isLoadingSetter(originalScope,!1),isNoResultsSetter(originalScope,!0)})};appendToBody&&(angular.element($window).on("resize",fireRecalculating),$document.find("body").on("scroll",fireRecalculating));var debouncedRecalculate=$$debounce(function(){scope.matches.length&&recalculatePosition(),scope.moveInProgress=!1},eventDebounceTime);scope.moveInProgress=!1,scope.query=void 0;var timeoutPromise,scheduleSearchWithTimeout=function(inputValue){timeoutPromise=$timeout(function(){getMatchesAsync(inputValue)},waitTime)},cancelPreviousTimeout=function(){timeoutPromise&&$timeout.cancel(timeoutPromise)};resetMatches(),scope.assignIsOpen=function(isOpen){isOpenSetter(originalScope,isOpen)},scope.select=function(activeIdx,evt){var model,item,locals={};selected=!0,locals[parserResult.itemName]=item=scope.matches[activeIdx].model,model=parserResult.modelMapper(originalScope,locals),$setModelValue(originalScope,model),modelCtrl.$setValidity("editable",!0),modelCtrl.$setValidity("parse",!0),onSelectCallback(originalScope,{$item:item,$model:model,$label:parserResult.viewMapper(originalScope,locals),$event:evt}),resetMatches(),scope.$eval(attrs.typeaheadFocusOnSelect)!==!1&&$timeout(function(){element[0].focus()},0,!1)},element.on("keydown",function(evt){if(0!==scope.matches.length&&HOT_KEYS.indexOf(evt.which)!==-1){var shouldSelect=isSelectEvent(originalScope,{$event:evt});if(scope.activeIdx===-1&&shouldSelect||9===evt.which&&evt.shiftKey)return resetMatches(),void scope.$digest();evt.preventDefault();var target;switch(evt.which){case 27:evt.stopPropagation(),resetMatches(),originalScope.$digest();break;case 38:scope.activeIdx=(scope.activeIdx>0?scope.activeIdx:scope.matches.length)-1,scope.$digest(),target=popUpEl[0].querySelectorAll(".uib-typeahead-match")[scope.activeIdx],target.parentNode.scrollTop=target.offsetTop;break;case 40:scope.activeIdx=(scope.activeIdx+1)%scope.matches.length,scope.$digest(),target=popUpEl[0].querySelectorAll(".uib-typeahead-match")[scope.activeIdx],target.parentNode.scrollTop=target.offsetTop;break;default:shouldSelect&&scope.$apply(function(){angular.isNumber(scope.debounceUpdate)||angular.isObject(scope.debounceUpdate)?$$debounce(function(){scope.select(scope.activeIdx,evt)},angular.isNumber(scope.debounceUpdate)?scope.debounceUpdate:scope.debounceUpdate["default"]):scope.select(scope.activeIdx,evt)})}}}),element.on("focus",function(evt){hasFocus=!0,0!==minLength||modelCtrl.$viewValue||$timeout(function(){getMatchesAsync(modelCtrl.$viewValue,evt)},0)}),element.on("blur",function(evt){isSelectOnBlur&&scope.matches.length&&scope.activeIdx!==-1&&!selected&&(selected=!0,scope.$apply(function(){angular.isObject(scope.debounceUpdate)&&angular.isNumber(scope.debounceUpdate.blur)?$$debounce(function(){scope.select(scope.activeIdx,evt)},scope.debounceUpdate.blur):scope.select(scope.activeIdx,evt)})),!isEditable&&modelCtrl.$error.editable&&(modelCtrl.$setViewValue(),scope.$apply(function(){modelCtrl.$setValidity("editable",!0),modelCtrl.$setValidity("parse",!0)}),element.val("")),hasFocus=!1,selected=!1});var dismissClickHandler=function(evt){element[0]!==evt.target&&3!==evt.which&&0!==scope.matches.length&&(resetMatches(),$rootScope.$$phase||originalScope.$digest())};$document.on("click",dismissClickHandler),originalScope.$on("$destroy",function(){$document.off("click",dismissClickHandler),(appendToBody||appendTo)&&$popup.remove(),appendToBody&&(angular.element($window).off("resize",fireRecalculating),$document.find("body").off("scroll",fireRecalculating)),popUpEl.remove(),showHint&&inputsContainer.remove()});var $popup=$compile(popUpEl)(scope);appendToBody?$document.find("body").append($popup):appendTo?angular.element(appendTo).eq(0).append($popup):element.after($popup),this.init=function(_modelCtrl){modelCtrl=_modelCtrl,ngModelOptions=extractOptions(modelCtrl),scope.debounceUpdate=$parse(ngModelOptions.getOption("debounce"))(originalScope),modelCtrl.$parsers.unshift(function(inputValue){return hasFocus=!0,0===minLength||inputValue&&inputValue.length>=minLength?waitTime>0?(cancelPreviousTimeout(),scheduleSearchWithTimeout(inputValue)):getMatchesAsync(inputValue):(isLoadingSetter(originalScope,!1),cancelPreviousTimeout(),resetMatches()),isEditable?inputValue:inputValue?void modelCtrl.$setValidity("editable",!1):(modelCtrl.$setValidity("editable",!0),null)}),modelCtrl.$formatters.push(function(modelValue){var candidateViewValue,emptyViewValue,locals={};return isEditable||modelCtrl.$setValidity("editable",!0),inputFormatter?(locals.$model=modelValue,inputFormatter(originalScope,locals)):(locals[parserResult.itemName]=modelValue,candidateViewValue=parserResult.viewMapper(originalScope,locals),locals[parserResult.itemName]=void 0,emptyViewValue=parserResult.viewMapper(originalScope,locals),candidateViewValue!==emptyViewValue?candidateViewValue:modelValue)})}}]).directive("uibTypeahead",function(){return{controller:"UibTypeaheadController",require:["ngModel","uibTypeahead"],link:function(originalScope,element,attrs,ctrls){ctrls[1].init(ctrls[0])}}}).directive("uibTypeaheadPopup",["$$debounce",function($$debounce){return{scope:{matches:"=",query:"=",active:"=",position:"&",moveInProgress:"=",select:"&",assignIsOpen:"&",debounce:"&"},replace:!0,templateUrl:function(element,attrs){return attrs.popupTemplateUrl||"uib/template/typeahead/typeahead-popup.html"},link:function(scope,element,attrs){scope.templateUrl=attrs.templateUrl,scope.isOpen=function(){var isDropdownOpen=scope.matches.length>0;return scope.assignIsOpen({isOpen:isDropdownOpen}),isDropdownOpen},scope.isActive=function(matchIdx){return scope.active===matchIdx},scope.selectActive=function(matchIdx){scope.active=matchIdx},scope.selectMatch=function(activeIdx,evt){var debounce=scope.debounce();angular.isNumber(debounce)||angular.isObject(debounce)?$$debounce(function(){scope.select({activeIdx:activeIdx,evt:evt})},angular.isNumber(debounce)?debounce:debounce["default"]):scope.select({activeIdx:activeIdx,evt:evt})}}}}]).directive("uibTypeaheadMatch",["$templateRequest","$compile","$parse",function($templateRequest,$compile,$parse){return{scope:{index:"=",match:"=",query:"="},link:function(scope,element,attrs){var tplUrl=$parse(attrs.templateUrl)(scope.$parent)||"uib/template/typeahead/typeahead-match.html";$templateRequest(tplUrl).then(function(tplContent){var tplEl=angular.element(tplContent.trim());element.replaceWith(tplEl),$compile(tplEl)(scope)})}}}]).filter("uibTypeaheadHighlight",["$sce","$injector","$log",function($sce,$injector,$log){function escapeRegexp(queryToEscape){return queryToEscape.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}function containsHtml(matchItem){return/<.*>/g.test(matchItem)}var isSanitizePresent;return isSanitizePresent=$injector.has("$sanitize"),function(matchItem,query){return!isSanitizePresent&&containsHtml(matchItem)&&$log.warn("Unsafe use of typeahead please use ngSanitize"),matchItem=query?(""+matchItem).replace(new RegExp(escapeRegexp(query),"gi"),"<strong>$&</strong>"):matchItem,isSanitizePresent||(matchItem=$sce.trustAsHtml(matchItem)),matchItem}}]),angular.module("uib/template/accordion/accordion-group.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/accordion/accordion-group.html",'<div role="tab" id="{{::headingId}}" aria-selected="{{isOpen}}" class="panel-heading" ng-keypress="toggleOpen($event)">\n  <h4 class="panel-title">\n    <a role="button" data-toggle="collapse" href aria-expanded="{{isOpen}}" aria-controls="{{::panelId}}" tabindex="0" class="accordion-toggle" ng-click="toggleOpen()" uib-accordion-transclude="heading" ng-disabled="isDisabled" uib-tabindex-toggle><span uib-accordion-header ng-class="{\'text-muted\': isDisabled}">{{heading}}</span></a>\n  </h4>\n</div>\n<div id="{{::panelId}}" aria-labelledby="{{::headingId}}" aria-hidden="{{!isOpen}}" role="tabpanel" class="panel-collapse collapse" uib-collapse="!isOpen">\n  <div class="panel-body" ng-transclude></div>\n</div>\n')}]),angular.module("uib/template/accordion/accordion.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/accordion/accordion.html",'<div role="tablist" class="panel-group" ng-transclude></div>')}]),angular.module("uib/template/alert/alert.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/alert/alert.html",'<button ng-show="closeable" type="button" class="close" ng-click="close({$event: $event})">\n  <span aria-hidden="true">&times;</span>\n  <span class="sr-only">Close</span>\n</button>\n<div ng-transclude></div>\n')}]),angular.module("uib/template/carousel/carousel.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/carousel/carousel.html",'<div class="carousel-inner" ng-transclude></div>\n<a role="button" href class="left carousel-control" ng-click="prev()" ng-class="{ disabled: isPrevDisabled() }" ng-show="slides.length > 1">\n  <span aria-hidden="true" class="glyphicon glyphicon-chevron-left"></span>\n  <span class="sr-only">previous</span>\n</a>\n<a role="button" href class="right carousel-control" ng-click="next()" ng-class="{ disabled: isNextDisabled() }" ng-show="slides.length > 1">\n  <span aria-hidden="true" class="glyphicon glyphicon-chevron-right"></span>\n  <span class="sr-only">next</span>\n</a>\n<ol class="carousel-indicators" ng-show="slides.length > 1">\n  <li ng-repeat="slide in slides | orderBy:indexOfSlide track by $index" ng-class="{ active: isActive(slide) }" ng-click="select(slide)">\n    <span class="sr-only">slide {{ $index + 1 }} of {{ slides.length }}<span ng-if="isActive(slide)">, currently active</span></span>\n  </li>\n</ol>\n')}]),angular.module("uib/template/carousel/slide.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/carousel/slide.html",'<div class="text-center" ng-transclude></div>\n')}]),angular.module("uib/template/datepicker/datepicker.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/datepicker/datepicker.html",'<div ng-switch="datepickerMode">\n  <div uib-daypicker ng-switch-when="day" tabindex="0" class="uib-daypicker"></div>\n  <div uib-monthpicker ng-switch-when="month" tabindex="0" class="uib-monthpicker"></div>\n  <div uib-yearpicker ng-switch-when="year" tabindex="0" class="uib-yearpicker"></div>\n</div>\n')}]),angular.module("uib/template/datepicker/day.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/datepicker/day.html",'<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-left"></i><span class="sr-only">previous</span></button></th>\n      <th colspan="{{::5 + showWeeks}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1"><strong>{{title}}</strong></button></th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-right"></i><span class="sr-only">next</span></button></th>\n    </tr>\n    <tr>\n      <th ng-if="showWeeks" class="text-center"></th>\n      <th ng-repeat="label in ::labels track by $index" class="text-center"><small aria-label="{{::label.full}}">{{::label.abbr}}</small></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr class="uib-weeks" ng-repeat="row in rows track by $index" role="row">\n      <td ng-if="showWeeks" class="text-center h6"><em>{{ weekNumbers[$index] }}</em></td>\n      <td ng-repeat="dt in row" class="uib-day text-center" role="gridcell"\n        id="{{::dt.uid}}"\n        ng-class="::dt.customClass">\n        <button type="button" class="btn btn-default btn-sm"\n          uib-is-class="\n            \'btn-info\' for selectedDt,\n            \'active\' for activeDt\n            on dt"\n          ng-click="select(dt.date)"\n          ng-disabled="::dt.disabled"\n          tabindex="-1"><span ng-class="::{\'text-muted\': dt.secondary, \'text-info\': dt.current}">{{::dt.label}}</span></button>\n      </td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("uib/template/datepicker/month.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/datepicker/month.html",'<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-left"></i><span class="sr-only">previous</span></button></th>\n      <th colspan="{{::yearHeaderColspan}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1"><strong>{{title}}</strong></button></th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-right"></i><span class="sr-only">next</span></i></button></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr class="uib-months" ng-repeat="row in rows track by $index" role="row">\n      <td ng-repeat="dt in row" class="uib-month text-center" role="gridcell"\n        id="{{::dt.uid}}"\n        ng-class="::dt.customClass">\n        <button type="button" class="btn btn-default"\n          uib-is-class="\n            \'btn-info\' for selectedDt,\n            \'active\' for activeDt\n            on dt"\n          ng-click="select(dt.date)"\n          ng-disabled="::dt.disabled"\n          tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n      </td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("uib/template/datepicker/year.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/datepicker/year.html",'<table role="grid" aria-labelledby="{{::uniqueId}}-title" aria-activedescendant="{{activeDateId}}">\n  <thead>\n    <tr>\n      <th><button type="button" class="btn btn-default btn-sm pull-left uib-left" ng-click="move(-1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-left"></i><span class="sr-only">previous</span></button></th>\n      <th colspan="{{::columns - 2}}"><button id="{{::uniqueId}}-title" role="heading" aria-live="assertive" aria-atomic="true" type="button" class="btn btn-default btn-sm uib-title" ng-click="toggleMode()" ng-disabled="datepickerMode === maxMode" tabindex="-1"><strong>{{title}}</strong></button></th>\n      <th><button type="button" class="btn btn-default btn-sm pull-right uib-right" ng-click="move(1)" tabindex="-1"><i aria-hidden="true" class="glyphicon glyphicon-chevron-right"></i><span class="sr-only">next</span></button></th>\n    </tr>\n  </thead>\n  <tbody>\n    <tr class="uib-years" ng-repeat="row in rows track by $index" role="row">\n      <td ng-repeat="dt in row" class="uib-year text-center" role="gridcell"\n        id="{{::dt.uid}}"\n        ng-class="::dt.customClass">\n        <button type="button" class="btn btn-default"\n          uib-is-class="\n            \'btn-info\' for selectedDt,\n            \'active\' for activeDt\n            on dt"\n          ng-click="select(dt.date)"\n          ng-disabled="::dt.disabled"\n          tabindex="-1"><span ng-class="::{\'text-info\': dt.current}">{{::dt.label}}</span></button>\n      </td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("uib/template/datepickerPopup/popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/datepickerPopup/popup.html",'<ul role="presentation" class="uib-datepicker-popup dropdown-menu uib-position-measure" dropdown-nested ng-if="isOpen" ng-keydown="keydown($event)" ng-click="$event.stopPropagation()">\n  <li ng-transclude></li>\n  <li ng-if="showButtonBar" class="uib-button-bar">\n    <span class="btn-group pull-left">\n      <button type="button" class="btn btn-sm btn-info uib-datepicker-current" ng-click="select(\'today\', $event)" ng-disabled="isDisabled(\'today\')">{{ getText(\'current\') }}</button>\n      <button type="button" class="btn btn-sm btn-danger uib-clear" ng-click="select(null, $event)">{{ getText(\'clear\') }}</button>\n    </span>\n    <button type="button" class="btn btn-sm btn-success pull-right uib-close" ng-click="close($event)">{{ getText(\'close\') }}</button>\n  </li>\n</ul>\n')}]),angular.module("uib/template/modal/window.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/modal/window.html","<div class=\"modal-dialog {{size ? 'modal-' + size : ''}}\"><div class=\"modal-content\" uib-modal-transclude></div></div>\n")}]),angular.module("uib/template/pager/pager.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/pager/pager.html",'<li ng-class="{disabled: noPrevious()||ngDisabled, previous: align}"><a href ng-click="selectPage(page - 1, $event)" ng-disabled="noPrevious()||ngDisabled" uib-tabindex-toggle>{{::getText(\'previous\')}}</a></li>\n<li ng-class="{disabled: noNext()||ngDisabled, next: align}"><a href ng-click="selectPage(page + 1, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle>{{::getText(\'next\')}}</a></li>\n')}]),angular.module("uib/template/pagination/pagination.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/pagination/pagination.html",'<li role="menuitem" ng-if="::boundaryLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-first"><a href ng-click="selectPage(1, $event)" ng-disabled="noPrevious()||ngDisabled" uib-tabindex-toggle>{{::getText(\'first\')}}</a></li>\n<li role="menuitem" ng-if="::directionLinks" ng-class="{disabled: noPrevious()||ngDisabled}" class="pagination-prev"><a href ng-click="selectPage(page - 1, $event)" ng-disabled="noPrevious()||ngDisabled" uib-tabindex-toggle>{{::getText(\'previous\')}}</a></li>\n<li role="menuitem" ng-repeat="page in pages track by $index" ng-class="{active: page.active,disabled: ngDisabled&&!page.active}" class="pagination-page"><a href ng-click="selectPage(page.number, $event)" ng-disabled="ngDisabled&&!page.active" uib-tabindex-toggle>{{page.text}}</a></li>\n<li role="menuitem" ng-if="::directionLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-next"><a href ng-click="selectPage(page + 1, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle>{{::getText(\'next\')}}</a></li>\n<li role="menuitem" ng-if="::boundaryLinks" ng-class="{disabled: noNext()||ngDisabled}" class="pagination-last"><a href ng-click="selectPage(totalPages, $event)" ng-disabled="noNext()||ngDisabled" uib-tabindex-toggle>{{::getText(\'last\')}}</a></li>\n')}]),angular.module("uib/template/tooltip/tooltip-html-popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/tooltip/tooltip-html-popup.html",'<div class="tooltip-arrow"></div>\n<div class="tooltip-inner" ng-bind-html="contentExp()"></div>\n')}]),angular.module("uib/template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/tooltip/tooltip-popup.html",'<div class="tooltip-arrow"></div>\n<div class="tooltip-inner" ng-bind="content"></div>\n')}]),angular.module("uib/template/tooltip/tooltip-template-popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/tooltip/tooltip-template-popup.html",'<div class="tooltip-arrow"></div>\n<div class="tooltip-inner"\n  uib-tooltip-template-transclude="contentExp()"\n  tooltip-template-transclude-scope="originScope()"></div>\n')}]),angular.module("uib/template/popover/popover-html.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/popover/popover-html.html",'<div class="arrow"></div>\n\n<div class="popover-inner">\n    <h3 class="popover-title" ng-bind="uibTitle" ng-if="uibTitle"></h3>\n    <div class="popover-content" ng-bind-html="contentExp()"></div>\n</div>\n')}]),angular.module("uib/template/popover/popover-template.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/popover/popover-template.html",'<div class="arrow"></div>\n\n<div class="popover-inner">\n    <h3 class="popover-title" ng-bind="uibTitle" ng-if="uibTitle"></h3>\n    <div class="popover-content"\n      uib-tooltip-template-transclude="contentExp()"\n      tooltip-template-transclude-scope="originScope()"></div>\n</div>\n')}]),angular.module("uib/template/popover/popover.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/popover/popover.html",'<div class="arrow"></div>\n\n<div class="popover-inner">\n    <h3 class="popover-title" ng-bind="uibTitle" ng-if="uibTitle"></h3>\n    <div class="popover-content" ng-bind="content"></div>\n</div>\n')}]),angular.module("uib/template/progressbar/bar.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/progressbar/bar.html",'<div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: (percent < 100 ? percent : 100) + \'%\'}" aria-valuetext="{{percent | number:0}}%" aria-labelledby="{{::title}}" ng-transclude></div>\n')}]),angular.module("uib/template/progressbar/progress.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/progressbar/progress.html",'<div class="progress" ng-transclude aria-labelledby="{{::title}}"></div>')}]),angular.module("uib/template/progressbar/progressbar.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/progressbar/progressbar.html",'<div class="progress">\n  <div class="progress-bar" ng-class="type && \'progress-bar-\' + type" role="progressbar" aria-valuenow="{{value}}" aria-valuemin="0" aria-valuemax="{{max}}" ng-style="{width: (percent < 100 ? percent : 100) + \'%\'}" aria-valuetext="{{percent | number:0}}%" aria-labelledby="{{::title}}" ng-transclude></div>\n</div>\n')}]),angular.module("uib/template/rating/rating.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/rating/rating.html",'<span ng-mouseleave="reset()" ng-keydown="onKeydown($event)" tabindex="0" role="slider" aria-valuemin="0" aria-valuemax="{{range.length}}" aria-valuenow="{{value}}" aria-valuetext="{{title}}">\n    <span ng-repeat-start="r in range track by $index" class="sr-only">({{ $index < value ? \'*\' : \' \' }})</span>\n    <i ng-repeat-end ng-mouseenter="enter($index + 1)" ng-click="rate($index + 1)" class="glyphicon" ng-class="$index < value && (r.stateOn || \'glyphicon-star\') || (r.stateOff || \'glyphicon-star-empty\')" ng-attr-title="{{r.title}}"></i>\n</span>\n')}]),angular.module("uib/template/tabs/tab.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/tabs/tab.html",'<li ng-class="[{active: active, disabled: disabled}, classes]" class="uib-tab nav-item">\n  <a href ng-click="select($event)" class="nav-link" uib-tab-heading-transclude>{{heading}}</a>\n</li>\n')}]),angular.module("uib/template/tabs/tabset.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/tabs/tabset.html",'<div>\n  <ul class="nav nav-{{tabset.type || \'tabs\'}}" ng-class="{\'nav-stacked\': vertical, \'nav-justified\': justified}" ng-transclude></ul>\n  <div class="tab-content">\n    <div class="tab-pane"\n         ng-repeat="tab in tabset.tabs"\n         ng-class="{active: tabset.active === tab.index}"\n         uib-tab-content-transclude="tab">\n    </div>\n  </div>\n</div>\n')}]),angular.module("uib/template/timepicker/timepicker.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/timepicker/timepicker.html",'<table class="uib-timepicker">\n  <tbody>\n    <tr class="text-center" ng-show="::showSpinners">\n      <td class="uib-increment hours"><a ng-click="incrementHours()" ng-class="{disabled: noIncrementHours()}" class="btn btn-link" ng-disabled="noIncrementHours()" tabindex="-1"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n      <td>&nbsp;</td>\n      <td class="uib-increment minutes"><a ng-click="incrementMinutes()" ng-class="{disabled: noIncrementMinutes()}" class="btn btn-link" ng-disabled="noIncrementMinutes()" tabindex="-1"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n      <td ng-show="showSeconds">&nbsp;</td>\n      <td ng-show="showSeconds" class="uib-increment seconds"><a ng-click="incrementSeconds()" ng-class="{disabled: noIncrementSeconds()}" class="btn btn-link" ng-disabled="noIncrementSeconds()" tabindex="-1"><span class="glyphicon glyphicon-chevron-up"></span></a></td>\n      <td ng-show="showMeridian"></td>\n    </tr>\n    <tr>\n      <td class="form-group uib-time hours" ng-class="{\'has-error\': invalidHours}">\n        <input type="text" placeholder="HH" ng-model="hours" ng-change="updateHours()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementHours()" ng-blur="blur()">\n      </td>\n      <td class="uib-separator">:</td>\n      <td class="form-group uib-time minutes" ng-class="{\'has-error\': invalidMinutes}">\n        <input type="text" placeholder="MM" ng-model="minutes" ng-change="updateMinutes()" class="form-control text-center" ng-readonly="::readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementMinutes()" ng-blur="blur()">\n      </td>\n      <td ng-show="showSeconds" class="uib-separator">:</td>\n      <td class="form-group uib-time seconds" ng-class="{\'has-error\': invalidSeconds}" ng-show="showSeconds">\n        <input type="text" placeholder="SS" ng-model="seconds" ng-change="updateSeconds()" class="form-control text-center" ng-readonly="readonlyInput" maxlength="2" tabindex="{{::tabindex}}" ng-disabled="noIncrementSeconds()" ng-blur="blur()">\n      </td>\n      <td ng-show="showMeridian" class="uib-time am-pm"><button type="button" ng-class="{disabled: noToggleMeridian()}" class="btn btn-default text-center" ng-click="toggleMeridian()" ng-disabled="noToggleMeridian()" tabindex="{{::tabindex}}">{{meridian}}</button></td>\n    </tr>\n    <tr class="text-center" ng-show="::showSpinners">\n      <td class="uib-decrement hours"><a ng-click="decrementHours()" ng-class="{disabled: noDecrementHours()}" class="btn btn-link" ng-disabled="noDecrementHours()" tabindex="-1"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n      <td>&nbsp;</td>\n      <td class="uib-decrement minutes"><a ng-click="decrementMinutes()" ng-class="{disabled: noDecrementMinutes()}" class="btn btn-link" ng-disabled="noDecrementMinutes()" tabindex="-1"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n      <td ng-show="showSeconds">&nbsp;</td>\n      <td ng-show="showSeconds" class="uib-decrement seconds"><a ng-click="decrementSeconds()" ng-class="{disabled: noDecrementSeconds()}" class="btn btn-link" ng-disabled="noDecrementSeconds()" tabindex="-1"><span class="glyphicon glyphicon-chevron-down"></span></a></td>\n      <td ng-show="showMeridian"></td>\n    </tr>\n  </tbody>\n</table>\n')}]),angular.module("uib/template/typeahead/typeahead-match.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/typeahead/typeahead-match.html",'<a href\n   tabindex="-1"\n   ng-bind-html="match.label | uibTypeaheadHighlight:query"\n   ng-attr-title="{{match.label}}"></a>\n')}]),angular.module("uib/template/typeahead/typeahead-popup.html",[]).run(["$templateCache",function($templateCache){$templateCache.put("uib/template/typeahead/typeahead-popup.html",'<ul class="dropdown-menu" ng-show="isOpen() && !moveInProgress" ng-style="{top: position().top+\'px\', left: position().left+\'px\'}" role="listbox" aria-hidden="{{!isOpen()}}">\n    <li class="uib-typeahead-match" ng-repeat="match in matches track by $index" ng-class="{active: isActive($index) }" ng-mouseenter="selectActive($index)" ng-click="selectMatch($index, $event)" role="option" id="{{::match.id}}">\n        <div uib-typeahead-match index="$index" match="match" query="query" template-url="templateUrl"></div>\n    </li>\n</ul>\n')}]),angular.module("ui.bootstrap.carousel").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibCarouselCss&&angular.element(document).find("head").prepend('<style type="text/css">.ng-animate.item:not(.left):not(.right){-webkit-transition:0s ease-in-out left;transition:0s ease-in-out left}</style>'),angular.$$uibCarouselCss=!0}),angular.module("ui.bootstrap.datepicker").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibDatepickerCss&&angular.element(document).find("head").prepend('<style type="text/css">.uib-datepicker .uib-title{width:100%;}.uib-day button,.uib-month button,.uib-year button{min-width:100%;}.uib-left,.uib-right{width:100%}</style>'),angular.$$uibDatepickerCss=!0}),angular.module("ui.bootstrap.position").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibPositionCss&&angular.element(document).find("head").prepend('<style type="text/css">.uib-position-measure{display:block !important;visibility:hidden !important;position:absolute !important;top:-9999px !important;left:-9999px !important;}.uib-position-scrollbar-measure{position:absolute !important;top:-9999px !important;width:50px !important;height:50px !important;overflow:scroll !important;}.uib-position-body-scrollbar-measure{overflow:scroll !important;}</style>'),angular.$$uibPositionCss=!0}),angular.module("ui.bootstrap.datepickerPopup").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibDatepickerpopupCss&&angular.element(document).find("head").prepend('<style type="text/css">.uib-datepicker-popup.dropdown-menu{display:block;float:none;margin:0;}.uib-button-bar{padding:10px 9px 2px;}</style>'),angular.$$uibDatepickerpopupCss=!0}),angular.module("ui.bootstrap.tooltip").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibTooltipCss&&angular.element(document).find("head").prepend('<style type="text/css">[uib-tooltip-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-html-popup].tooltip.right-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.top-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-left > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.bottom-right > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.left-bottom > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-top > .tooltip-arrow,[uib-tooltip-template-popup].tooltip.right-bottom > .tooltip-arrow,[uib-popover-popup].popover.top-left > .arrow,[uib-popover-popup].popover.top-right > .arrow,[uib-popover-popup].popover.bottom-left > .arrow,[uib-popover-popup].popover.bottom-right > .arrow,[uib-popover-popup].popover.left-top > .arrow,[uib-popover-popup].popover.left-bottom > .arrow,[uib-popover-popup].popover.right-top > .arrow,[uib-popover-popup].popover.right-bottom > .arrow,[uib-popover-html-popup].popover.top-left > .arrow,[uib-popover-html-popup].popover.top-right > .arrow,[uib-popover-html-popup].popover.bottom-left > .arrow,[uib-popover-html-popup].popover.bottom-right > .arrow,[uib-popover-html-popup].popover.left-top > .arrow,[uib-popover-html-popup].popover.left-bottom > .arrow,[uib-popover-html-popup].popover.right-top > .arrow,[uib-popover-html-popup].popover.right-bottom > .arrow,[uib-popover-template-popup].popover.top-left > .arrow,[uib-popover-template-popup].popover.top-right > .arrow,[uib-popover-template-popup].popover.bottom-left > .arrow,[uib-popover-template-popup].popover.bottom-right > .arrow,[uib-popover-template-popup].popover.left-top > .arrow,[uib-popover-template-popup].popover.left-bottom > .arrow,[uib-popover-template-popup].popover.right-top > .arrow,[uib-popover-template-popup].popover.right-bottom > .arrow{top:auto;bottom:auto;left:auto;right:auto;margin:0;}[uib-popover-popup].popover,[uib-popover-html-popup].popover,[uib-popover-template-popup].popover{display:block !important;}</style>'),
+angular.$$uibTooltipCss=!0}),angular.module("ui.bootstrap.timepicker").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibTimepickerCss&&angular.element(document).find("head").prepend('<style type="text/css">.uib-time input{width:50px;}</style>'),angular.$$uibTimepickerCss=!0}),angular.module("ui.bootstrap.typeahead").run(function(){!angular.$$csp().noInlineStyle&&!angular.$$uibTypeaheadCss&&angular.element(document).find("head").prepend('<style type="text/css">[uib-typeahead-popup].dropdown-menu{display:block;}</style>'),angular.$$uibTypeaheadCss=!0})},function(module,exports){/**
+ * @license AngularJS v1.6.3
+ * (c) 2010-2017 Google, Inc. http://angularjs.org
+ * License: MIT
+ */
+!function(window){"use strict";function minErr(module,ErrorConstructor){return ErrorConstructor=ErrorConstructor||Error,function(){var paramPrefix,i,code=arguments[0],template=arguments[1],message="["+(module?module+":":"")+code+"] ",templateArgs=sliceArgs(arguments,2).map(function(arg){return toDebugString(arg,minErrConfig.objectMaxDepth)});for(message+=template.replace(/\{\d+\}/g,function(match){var index=+match.slice(1,-1);return index<templateArgs.length?templateArgs[index]:match}),message+="\nhttp://errors.angularjs.org/1.6.3/"+(module?module+"/":"")+code,i=0,paramPrefix="?";i<templateArgs.length;i++,paramPrefix="&")message+=paramPrefix+"p"+i+"="+encodeURIComponent(templateArgs[i]);return new ErrorConstructor(message)}}function errorHandlingConfig(config){return isObject(config)?void(isDefined(config.objectMaxDepth)&&(minErrConfig.objectMaxDepth=isValidObjectMaxDepth(config.objectMaxDepth)?config.objectMaxDepth:NaN)):minErrConfig}function isValidObjectMaxDepth(maxDepth){return isNumber(maxDepth)&&maxDepth>0}function isArrayLike(obj){if(null==obj||isWindow(obj))return!1;if(isArray(obj)||isString(obj)||jqLite&&obj instanceof jqLite)return!0;var length="length"in Object(obj)&&obj.length;return isNumber(length)&&(length>=0&&(length-1 in obj||obj instanceof Array)||"function"==typeof obj.item)}function forEach(obj,iterator,context){var key,length;if(obj)if(isFunction(obj))for(key in obj)"prototype"!==key&&"length"!==key&&"name"!==key&&obj.hasOwnProperty(key)&&iterator.call(context,obj[key],key,obj);else if(isArray(obj)||isArrayLike(obj)){var isPrimitive="object"!=typeof obj;for(key=0,length=obj.length;key<length;key++)(isPrimitive||key in obj)&&iterator.call(context,obj[key],key,obj)}else if(obj.forEach&&obj.forEach!==forEach)obj.forEach(iterator,context,obj);else if(isBlankObject(obj))for(key in obj)iterator.call(context,obj[key],key,obj);else if("function"==typeof obj.hasOwnProperty)for(key in obj)obj.hasOwnProperty(key)&&iterator.call(context,obj[key],key,obj);else for(key in obj)hasOwnProperty.call(obj,key)&&iterator.call(context,obj[key],key,obj);return obj}function forEachSorted(obj,iterator,context){for(var keys=Object.keys(obj).sort(),i=0;i<keys.length;i++)iterator.call(context,obj[keys[i]],keys[i]);return keys}function reverseParams(iteratorFn){return function(value,key){iteratorFn(key,value)}}function nextUid(){return++uid}function setHashKey(obj,h){h?obj.$$hashKey=h:delete obj.$$hashKey}function baseExtend(dst,objs,deep){for(var h=dst.$$hashKey,i=0,ii=objs.length;i<ii;++i){var obj=objs[i];if(isObject(obj)||isFunction(obj))for(var keys=Object.keys(obj),j=0,jj=keys.length;j<jj;j++){var key=keys[j],src=obj[key];deep&&isObject(src)?isDate(src)?dst[key]=new Date(src.valueOf()):isRegExp(src)?dst[key]=new RegExp(src):src.nodeName?dst[key]=src.cloneNode(!0):isElement(src)?dst[key]=src.clone():(isObject(dst[key])||(dst[key]=isArray(src)?[]:{}),baseExtend(dst[key],[src],!0)):dst[key]=src}}return setHashKey(dst,h),dst}function extend(dst){return baseExtend(dst,slice.call(arguments,1),!1)}function merge(dst){return baseExtend(dst,slice.call(arguments,1),!0)}function toInt(str){return parseInt(str,10)}function inherit(parent,extra){return extend(Object.create(parent),extra)}function noop(){}function identity($){return $}function valueFn(value){return function(){return value}}function hasCustomToString(obj){return isFunction(obj.toString)&&obj.toString!==toString}function isUndefined(value){return"undefined"==typeof value}function isDefined(value){return"undefined"!=typeof value}function isObject(value){return null!==value&&"object"==typeof value}function isBlankObject(value){return null!==value&&"object"==typeof value&&!getPrototypeOf(value)}function isString(value){return"string"==typeof value}function isNumber(value){return"number"==typeof value}function isDate(value){return"[object Date]"===toString.call(value)}function isFunction(value){return"function"==typeof value}function isRegExp(value){return"[object RegExp]"===toString.call(value)}function isWindow(obj){return obj&&obj.window===obj}function isScope(obj){return obj&&obj.$evalAsync&&obj.$watch}function isFile(obj){return"[object File]"===toString.call(obj)}function isFormData(obj){return"[object FormData]"===toString.call(obj)}function isBlob(obj){return"[object Blob]"===toString.call(obj)}function isBoolean(value){return"boolean"==typeof value}function isPromiseLike(obj){return obj&&isFunction(obj.then)}function isTypedArray(value){return value&&isNumber(value.length)&&TYPED_ARRAY_REGEXP.test(toString.call(value))}function isArrayBuffer(obj){return"[object ArrayBuffer]"===toString.call(obj)}function isElement(node){return!(!node||!(node.nodeName||node.prop&&node.attr&&node.find))}function makeMap(str){var i,obj={},items=str.split(",");for(i=0;i<items.length;i++)obj[items[i]]=!0;return obj}function nodeName_(element){return lowercase(element.nodeName||element[0]&&element[0].nodeName)}function includes(array,obj){return Array.prototype.indexOf.call(array,obj)!==-1}function arrayRemove(array,value){var index=array.indexOf(value);return index>=0&&array.splice(index,1),index}function copy(source,destination,maxDepth){function copyRecurse(source,destination,maxDepth){if(maxDepth--,maxDepth<0)return"...";var key,h=destination.$$hashKey;if(isArray(source))for(var i=0,ii=source.length;i<ii;i++)destination.push(copyElement(source[i],maxDepth));else if(isBlankObject(source))for(key in source)destination[key]=copyElement(source[key],maxDepth);else if(source&&"function"==typeof source.hasOwnProperty)for(key in source)source.hasOwnProperty(key)&&(destination[key]=copyElement(source[key],maxDepth));else for(key in source)hasOwnProperty.call(source,key)&&(destination[key]=copyElement(source[key],maxDepth));return setHashKey(destination,h),destination}function copyElement(source,maxDepth){if(!isObject(source))return source;var index=stackSource.indexOf(source);if(index!==-1)return stackDest[index];if(isWindow(source)||isScope(source))throw ngMinErr("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");var needsRecurse=!1,destination=copyType(source);return void 0===destination&&(destination=isArray(source)?[]:Object.create(getPrototypeOf(source)),needsRecurse=!0),stackSource.push(source),stackDest.push(destination),needsRecurse?copyRecurse(source,destination,maxDepth):destination}function copyType(source){switch(toString.call(source)){case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Float32Array]":case"[object Float64Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return new source.constructor(copyElement(source.buffer),source.byteOffset,source.length);case"[object ArrayBuffer]":if(!source.slice){var copied=new ArrayBuffer(source.byteLength);return new Uint8Array(copied).set(new Uint8Array(source)),copied}return source.slice(0);case"[object Boolean]":case"[object Number]":case"[object String]":case"[object Date]":return new source.constructor(source.valueOf());case"[object RegExp]":var re=new RegExp(source.source,source.toString().match(/[^\/]*$/)[0]);return re.lastIndex=source.lastIndex,re;case"[object Blob]":return new source.constructor([source],{type:source.type})}if(isFunction(source.cloneNode))return source.cloneNode(!0)}var stackSource=[],stackDest=[];if(maxDepth=isValidObjectMaxDepth(maxDepth)?maxDepth:NaN,destination){if(isTypedArray(destination)||isArrayBuffer(destination))throw ngMinErr("cpta","Can't copy! TypedArray destination cannot be mutated.");if(source===destination)throw ngMinErr("cpi","Can't copy! Source and destination are identical.");return isArray(destination)?destination.length=0:forEach(destination,function(value,key){"$$hashKey"!==key&&delete destination[key]}),stackSource.push(source),stackDest.push(destination),copyRecurse(source,destination,maxDepth)}return copyElement(source,maxDepth)}function equals(o1,o2){if(o1===o2)return!0;if(null===o1||null===o2)return!1;if(o1!==o1&&o2!==o2)return!0;var length,key,keySet,t1=typeof o1,t2=typeof o2;if(t1===t2&&"object"===t1){if(!isArray(o1)){if(isDate(o1))return!!isDate(o2)&&equals(o1.getTime(),o2.getTime());if(isRegExp(o1))return!!isRegExp(o2)&&o1.toString()===o2.toString();if(isScope(o1)||isScope(o2)||isWindow(o1)||isWindow(o2)||isArray(o2)||isDate(o2)||isRegExp(o2))return!1;keySet=createMap();for(key in o1)if("$"!==key.charAt(0)&&!isFunction(o1[key])){if(!equals(o1[key],o2[key]))return!1;keySet[key]=!0}for(key in o2)if(!(key in keySet)&&"$"!==key.charAt(0)&&isDefined(o2[key])&&!isFunction(o2[key]))return!1;return!0}if(!isArray(o2))return!1;if((length=o1.length)===o2.length){for(key=0;key<length;key++)if(!equals(o1[key],o2[key]))return!1;return!0}}return!1}function concat(array1,array2,index){return array1.concat(slice.call(array2,index))}function sliceArgs(args,startIndex){return slice.call(args,startIndex||0)}function bind(self,fn){var curryArgs=arguments.length>2?sliceArgs(arguments,2):[];return!isFunction(fn)||fn instanceof RegExp?fn:curryArgs.length?function(){return arguments.length?fn.apply(self,concat(curryArgs,arguments,0)):fn.apply(self,curryArgs)}:function(){return arguments.length?fn.apply(self,arguments):fn.call(self)}}function toJsonReplacer(key,value){var val=value;return"string"==typeof key&&"$"===key.charAt(0)&&"$"===key.charAt(1)?val=void 0:isWindow(value)?val="$WINDOW":value&&window.document===value?val="$DOCUMENT":isScope(value)&&(val="$SCOPE"),val}function toJson(obj,pretty){if(!isUndefined(obj))return isNumber(pretty)||(pretty=pretty?2:null),JSON.stringify(obj,toJsonReplacer,pretty)}function fromJson(json){return isString(json)?JSON.parse(json):json}function timezoneToOffset(timezone,fallback){timezone=timezone.replace(ALL_COLONS,"");var requestedTimezoneOffset=Date.parse("Jan 01, 1970 00:00:00 "+timezone)/6e4;return isNumberNaN(requestedTimezoneOffset)?fallback:requestedTimezoneOffset}function addDateMinutes(date,minutes){return date=new Date(date.getTime()),date.setMinutes(date.getMinutes()+minutes),date}function convertTimezoneToLocal(date,timezone,reverse){reverse=reverse?-1:1;var dateTimezoneOffset=date.getTimezoneOffset(),timezoneOffset=timezoneToOffset(timezone,dateTimezoneOffset);return addDateMinutes(date,reverse*(timezoneOffset-dateTimezoneOffset))}function startingTag(element){element=jqLite(element).clone();try{element.empty()}catch(e){}var elemHtml=jqLite("<div>").append(element).html();try{return element[0].nodeType===NODE_TYPE_TEXT?lowercase(elemHtml):elemHtml.match(/^(<[^>]+>)/)[1].replace(/^<([\w-]+)/,function(match,nodeName){return"<"+lowercase(nodeName)})}catch(e){return lowercase(elemHtml)}}function tryDecodeURIComponent(value){try{return decodeURIComponent(value)}catch(e){}}function parseKeyValue(keyValue){var obj={};return forEach((keyValue||"").split("&"),function(keyValue){var splitPoint,key,val;keyValue&&(key=keyValue=keyValue.replace(/\+/g,"%20"),splitPoint=keyValue.indexOf("="),splitPoint!==-1&&(key=keyValue.substring(0,splitPoint),val=keyValue.substring(splitPoint+1)),key=tryDecodeURIComponent(key),isDefined(key)&&(val=!isDefined(val)||tryDecodeURIComponent(val),hasOwnProperty.call(obj,key)?isArray(obj[key])?obj[key].push(val):obj[key]=[obj[key],val]:obj[key]=val))}),obj}function toKeyValue(obj){var parts=[];return forEach(obj,function(value,key){isArray(value)?forEach(value,function(arrayValue){parts.push(encodeUriQuery(key,!0)+(arrayValue===!0?"":"="+encodeUriQuery(arrayValue,!0)))}):parts.push(encodeUriQuery(key,!0)+(value===!0?"":"="+encodeUriQuery(value,!0)))}),parts.length?parts.join("&"):""}function encodeUriSegment(val){return encodeUriQuery(val,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function encodeUriQuery(val,pctEncodeSpaces){return encodeURIComponent(val).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,pctEncodeSpaces?"%20":"+")}function getNgAttribute(element,ngAttr){var attr,i,ii=ngAttrPrefixes.length;for(i=0;i<ii;++i)if(attr=ngAttrPrefixes[i]+ngAttr,isString(attr=element.getAttribute(attr)))return attr;return null}function allowAutoBootstrap(document){var script=document.currentScript;if(!script)return!0;if(!(script instanceof window.HTMLScriptElement||script instanceof window.SVGScriptElement))return!1;var attributes=script.attributes,srcs=[attributes.getNamedItem("src"),attributes.getNamedItem("href"),attributes.getNamedItem("xlink:href")];return srcs.every(function(src){if(!src)return!0;if(!src.value)return!1;var link=document.createElement("a");if(link.href=src.value,document.location.origin===link.origin)return!0;switch(link.protocol){case"http:":case"https:":case"ftp:":case"blob:":case"file:":case"data:":return!0;default:return!1}})}function angularInit(element,bootstrap){var appElement,module,config={};if(forEach(ngAttrPrefixes,function(prefix){var name=prefix+"app";!appElement&&element.hasAttribute&&element.hasAttribute(name)&&(appElement=element,module=element.getAttribute(name))}),forEach(ngAttrPrefixes,function(prefix){var candidate,name=prefix+"app";!appElement&&(candidate=element.querySelector("["+name.replace(":","\\:")+"]"))&&(appElement=candidate,module=candidate.getAttribute(name))}),appElement){if(!isAutoBootstrapAllowed)return void window.console.error("Angular: disabling automatic bootstrap. <script> protocol indicates an extension, document.location.href does not match.");config.strictDi=null!==getNgAttribute(appElement,"strict-di"),bootstrap(appElement,module?[module]:[],config)}}function bootstrap(element,modules,config){isObject(config)||(config={});var defaultConfig={strictDi:!1};config=extend(defaultConfig,config);var doBootstrap=function(){if(element=jqLite(element),element.injector()){var tag=element[0]===window.document?"document":startingTag(element);throw ngMinErr("btstrpd","App already bootstrapped with this element '{0}'",tag.replace(/</,"&lt;").replace(/>/,"&gt;"))}modules=modules||[],modules.unshift(["$provide",function($provide){$provide.value("$rootElement",element)}]),config.debugInfoEnabled&&modules.push(["$compileProvider",function($compileProvider){$compileProvider.debugInfoEnabled(!0)}]),modules.unshift("ng");var injector=createInjector(modules,config.strictDi);return injector.invoke(["$rootScope","$rootElement","$compile","$injector",function(scope,element,compile,injector){scope.$apply(function(){element.data("$injector",injector),compile(element)(scope)})}]),injector},NG_ENABLE_DEBUG_INFO=/^NG_ENABLE_DEBUG_INFO!/,NG_DEFER_BOOTSTRAP=/^NG_DEFER_BOOTSTRAP!/;return window&&NG_ENABLE_DEBUG_INFO.test(window.name)&&(config.debugInfoEnabled=!0,window.name=window.name.replace(NG_ENABLE_DEBUG_INFO,"")),window&&!NG_DEFER_BOOTSTRAP.test(window.name)?doBootstrap():(window.name=window.name.replace(NG_DEFER_BOOTSTRAP,""),angular.resumeBootstrap=function(extraModules){return forEach(extraModules,function(module){modules.push(module)}),doBootstrap()},void(isFunction(angular.resumeDeferredBootstrap)&&angular.resumeDeferredBootstrap()))}function reloadWithDebugInfo(){window.name="NG_ENABLE_DEBUG_INFO!"+window.name,window.location.reload()}function getTestability(rootElement){var injector=angular.element(rootElement).injector();if(!injector)throw ngMinErr("test","no injector found for element argument to getTestability");return injector.get("$$testability")}function snake_case(name,separator){return separator=separator||"_",name.replace(SNAKE_CASE_REGEXP,function(letter,pos){return(pos?separator:"")+letter.toLowerCase()})}function bindJQuery(){var originalCleanData;if(!bindJQueryFired){var jqName=jq();jQuery=isUndefined(jqName)?window.jQuery:jqName?window[jqName]:void 0,jQuery&&jQuery.fn.on?(jqLite=jQuery,extend(jQuery.fn,{scope:JQLitePrototype.scope,isolateScope:JQLitePrototype.isolateScope,controller:JQLitePrototype.controller,injector:JQLitePrototype.injector,inheritedData:JQLitePrototype.inheritedData}),originalCleanData=jQuery.cleanData,jQuery.cleanData=function(elems){for(var events,elem,i=0;null!=(elem=elems[i]);i++)events=jQuery._data(elem,"events"),events&&events.$destroy&&jQuery(elem).triggerHandler("$destroy");originalCleanData(elems)}):jqLite=JQLite,angular.element=jqLite,bindJQueryFired=!0}}function assertArg(arg,name,reason){if(!arg)throw ngMinErr("areq","Argument '{0}' is {1}",name||"?",reason||"required");return arg}function assertArgFn(arg,name,acceptArrayAnnotation){return acceptArrayAnnotation&&isArray(arg)&&(arg=arg[arg.length-1]),assertArg(isFunction(arg),name,"not a function, got "+(arg&&"object"==typeof arg?arg.constructor.name||"Object":typeof arg)),arg}function assertNotHasOwnProperty(name,context){if("hasOwnProperty"===name)throw ngMinErr("badname","hasOwnProperty is not a valid {0} name",context)}function getter(obj,path,bindFnToScope){if(!path)return obj;for(var key,keys=path.split("."),lastInstance=obj,len=keys.length,i=0;i<len;i++)key=keys[i],obj&&(obj=(lastInstance=obj)[key]);return!bindFnToScope&&isFunction(obj)?bind(lastInstance,obj):obj}function getBlockNodes(nodes){for(var blockNodes,node=nodes[0],endNode=nodes[nodes.length-1],i=1;node!==endNode&&(node=node.nextSibling);i++)(blockNodes||nodes[i]!==node)&&(blockNodes||(blockNodes=jqLite(slice.call(nodes,0,i))),blockNodes.push(node));return blockNodes||nodes}function createMap(){return Object.create(null)}function stringify(value){if(null==value)return"";switch(typeof value){case"string":break;case"number":value=""+value;break;default:value=!hasCustomToString(value)||isArray(value)||isDate(value)?toJson(value):value.toString()}return value}function setupModuleLoader(window){function ensure(obj,name,factory){return obj[name]||(obj[name]=factory())}var $injectorMinErr=minErr("$injector"),ngMinErr=minErr("ng"),angular=ensure(window,"angular",Object);return angular.$$minErr=angular.$$minErr||minErr,ensure(angular,"module",function(){var modules={};return function(name,requires,configFn){var info={},assertNotHasOwnProperty=function(name,context){if("hasOwnProperty"===name)throw ngMinErr("badname","hasOwnProperty is not a valid {0} name",context)};return assertNotHasOwnProperty(name,"module"),requires&&modules.hasOwnProperty(name)&&(modules[name]=null),ensure(modules,name,function(){function invokeLater(provider,method,insertMethod,queue){return queue||(queue=invokeQueue),function(){return queue[insertMethod||"push"]([provider,method,arguments]),moduleInstance}}function invokeLaterAndSetModuleName(provider,method,queue){return queue||(queue=invokeQueue),function(recipeName,factoryFunction){return factoryFunction&&isFunction(factoryFunction)&&(factoryFunction.$$moduleName=name),queue.push([provider,method,arguments]),moduleInstance}}if(!requires)throw $injectorMinErr("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.",name);var invokeQueue=[],configBlocks=[],runBlocks=[],config=invokeLater("$injector","invoke","push",configBlocks),moduleInstance={_invokeQueue:invokeQueue,_configBlocks:configBlocks,_runBlocks:runBlocks,info:function(value){if(isDefined(value)){if(!isObject(value))throw ngMinErr("aobj","Argument '{0}' must be an object","value");return info=value,this}return info},requires:requires,name:name,provider:invokeLaterAndSetModuleName("$provide","provider"),factory:invokeLaterAndSetModuleName("$provide","factory"),service:invokeLaterAndSetModuleName("$provide","service"),value:invokeLater("$provide","value"),constant:invokeLater("$provide","constant","unshift"),decorator:invokeLaterAndSetModuleName("$provide","decorator",configBlocks),animation:invokeLaterAndSetModuleName("$animateProvider","register"),filter:invokeLaterAndSetModuleName("$filterProvider","register"),controller:invokeLaterAndSetModuleName("$controllerProvider","register"),directive:invokeLaterAndSetModuleName("$compileProvider","directive"),component:invokeLaterAndSetModuleName("$compileProvider","component"),config:config,run:function(block){return runBlocks.push(block),this}};return configFn&&config(configFn),moduleInstance})}})}function shallowCopy(src,dst){if(isArray(src)){dst=dst||[];for(var i=0,ii=src.length;i<ii;i++)dst[i]=src[i]}else if(isObject(src)){dst=dst||{};for(var key in src)"$"===key.charAt(0)&&"$"===key.charAt(1)||(dst[key]=src[key])}return dst||src}function serializeObject(obj,maxDepth){var seen=[];return isValidObjectMaxDepth(maxDepth)&&(obj=copy(obj,null,maxDepth)),JSON.stringify(obj,function(key,val){if(val=toJsonReplacer(key,val),isObject(val)){if(seen.indexOf(val)>=0)return"...";seen.push(val)}return val})}function toDebugString(obj,maxDepth){return"function"==typeof obj?obj.toString().replace(/ \{[\s\S]*$/,""):isUndefined(obj)?"undefined":"string"!=typeof obj?serializeObject(obj,maxDepth):obj}function publishExternalAPI(angular){extend(angular,{errorHandlingConfig:errorHandlingConfig,bootstrap:bootstrap,copy:copy,extend:extend,merge:merge,equals:equals,element:jqLite,forEach:forEach,injector:createInjector,noop:noop,bind:bind,toJson:toJson,fromJson:fromJson,identity:identity,isUndefined:isUndefined,isDefined:isDefined,isString:isString,isFunction:isFunction,isObject:isObject,isNumber:isNumber,isElement:isElement,isArray:isArray,version:version,isDate:isDate,lowercase:lowercase,uppercase:uppercase,callbacks:{$$counter:0},getTestability:getTestability,reloadWithDebugInfo:reloadWithDebugInfo,$$minErr:minErr,$$csp:csp,$$encodeUriSegment:encodeUriSegment,$$encodeUriQuery:encodeUriQuery,$$stringify:stringify}),angularModule=setupModuleLoader(window),angularModule("ng",["ngLocale"],["$provide",function($provide){$provide.provider({$$sanitizeUri:$$SanitizeUriProvider}),$provide.provider("$compile",$CompileProvider).directive({a:htmlAnchorDirective,input:inputDirective,textarea:inputDirective,form:formDirective,script:scriptDirective,select:selectDirective,option:optionDirective,ngBind:ngBindDirective,ngBindHtml:ngBindHtmlDirective,ngBindTemplate:ngBindTemplateDirective,ngClass:ngClassDirective,ngClassEven:ngClassEvenDirective,ngClassOdd:ngClassOddDirective,ngCloak:ngCloakDirective,ngController:ngControllerDirective,ngForm:ngFormDirective,ngHide:ngHideDirective,ngIf:ngIfDirective,ngInclude:ngIncludeDirective,ngInit:ngInitDirective,ngNonBindable:ngNonBindableDirective,ngPluralize:ngPluralizeDirective,ngRepeat:ngRepeatDirective,ngShow:ngShowDirective,ngStyle:ngStyleDirective,ngSwitch:ngSwitchDirective,ngSwitchWhen:ngSwitchWhenDirective,ngSwitchDefault:ngSwitchDefaultDirective,ngOptions:ngOptionsDirective,ngTransclude:ngTranscludeDirective,ngModel:ngModelDirective,ngList:ngListDirective,ngChange:ngChangeDirective,pattern:patternDirective,ngPattern:patternDirective,required:requiredDirective,ngRequired:requiredDirective,minlength:minlengthDirective,ngMinlength:minlengthDirective,maxlength:maxlengthDirective,ngMaxlength:maxlengthDirective,ngValue:ngValueDirective,ngModelOptions:ngModelOptionsDirective}).directive({ngInclude:ngIncludeFillContentDirective}).directive(ngAttributeAliasDirectives).directive(ngEventDirectives),$provide.provider({$anchorScroll:$AnchorScrollProvider,$animate:$AnimateProvider,$animateCss:$CoreAnimateCssProvider,$$animateJs:$$CoreAnimateJsProvider,$$animateQueue:$$CoreAnimateQueueProvider,$$AnimateRunner:$$AnimateRunnerFactoryProvider,$$animateAsyncRun:$$AnimateAsyncRunFactoryProvider,$browser:$BrowserProvider,$cacheFactory:$CacheFactoryProvider,$controller:$ControllerProvider,$document:$DocumentProvider,$$isDocumentHidden:$$IsDocumentHiddenProvider,$exceptionHandler:$ExceptionHandlerProvider,$filter:$FilterProvider,$$forceReflow:$$ForceReflowProvider,$interpolate:$InterpolateProvider,$interval:$IntervalProvider,$http:$HttpProvider,$httpParamSerializer:$HttpParamSerializerProvider,$httpParamSerializerJQLike:$HttpParamSerializerJQLikeProvider,$httpBackend:$HttpBackendProvider,$xhrFactory:$xhrFactoryProvider,$jsonpCallbacks:$jsonpCallbacksProvider,$location:$LocationProvider,$log:$LogProvider,$parse:$ParseProvider,$rootScope:$RootScopeProvider,$q:$QProvider,$$q:$$QProvider,$sce:$SceProvider,$sceDelegate:$SceDelegateProvider,$sniffer:$SnifferProvider,$templateCache:$TemplateCacheProvider,$templateRequest:$TemplateRequestProvider,$$testability:$$TestabilityProvider,$timeout:$TimeoutProvider,$window:$WindowProvider,$$rAF:$$RAFProvider,$$jqLite:$$jqLiteProvider,$$Map:$$MapProvider,$$cookieReader:$$CookieReaderProvider})}]).info({angularVersion:"1.6.3"})}function jqNextId(){return++jqId}function cssKebabToCamel(name){return kebabToCamel(name.replace(MS_HACK_REGEXP,"ms-"))}function fnCamelCaseReplace(all,letter){return letter.toUpperCase()}function kebabToCamel(name){return name.replace(DASH_LOWERCASE_REGEXP,fnCamelCaseReplace)}function jqLiteIsTextNode(html){return!HTML_REGEXP.test(html)}function jqLiteAcceptsData(node){var nodeType=node.nodeType;return nodeType===NODE_TYPE_ELEMENT||!nodeType||nodeType===NODE_TYPE_DOCUMENT}function jqLiteHasData(node){for(var key in jqCache[node.ng339])return!0;return!1}function jqLiteCleanData(nodes){for(var i=0,ii=nodes.length;i<ii;i++)jqLiteRemoveData(nodes[i])}function jqLiteBuildFragment(html,context){var tmp,tag,wrap,i,fragment=context.createDocumentFragment(),nodes=[];if(jqLiteIsTextNode(html))nodes.push(context.createTextNode(html));else{for(tmp=fragment.appendChild(context.createElement("div")),tag=(TAG_NAME_REGEXP.exec(html)||["",""])[1].toLowerCase(),wrap=wrapMap[tag]||wrapMap._default,tmp.innerHTML=wrap[1]+html.replace(XHTML_TAG_REGEXP,"<$1></$2>")+wrap[2],i=wrap[0];i--;)tmp=tmp.lastChild;nodes=concat(nodes,tmp.childNodes),tmp=fragment.firstChild,tmp.textContent=""}return fragment.textContent="",fragment.innerHTML="",forEach(nodes,function(node){fragment.appendChild(node)}),fragment}function jqLiteParseHTML(html,context){context=context||window.document;var parsed;return(parsed=SINGLE_TAG_REGEXP.exec(html))?[context.createElement(parsed[1])]:(parsed=jqLiteBuildFragment(html,context))?parsed.childNodes:[]}function jqLiteWrapNode(node,wrapper){var parent=node.parentNode;parent&&parent.replaceChild(wrapper,node),wrapper.appendChild(node)}function JQLite(element){if(element instanceof JQLite)return element;var argIsString;if(isString(element)&&(element=trim(element),argIsString=!0),!(this instanceof JQLite)){if(argIsString&&"<"!==element.charAt(0))throw jqLiteMinErr("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new JQLite(element)}argIsString?jqLiteAddNodes(this,jqLiteParseHTML(element)):isFunction(element)?jqLiteReady(element):jqLiteAddNodes(this,element)}function jqLiteClone(element){return element.cloneNode(!0)}function jqLiteDealoc(element,onlyDescendants){if(onlyDescendants||jqLiteRemoveData(element),element.querySelectorAll)for(var descendants=element.querySelectorAll("*"),i=0,l=descendants.length;i<l;i++)jqLiteRemoveData(descendants[i])}function jqLiteOff(element,type,fn,unsupported){if(isDefined(unsupported))throw jqLiteMinErr("offargs","jqLite#off() does not support the `selector` argument");var expandoStore=jqLiteExpandoStore(element),events=expandoStore&&expandoStore.events,handle=expandoStore&&expandoStore.handle;if(handle)if(type){var removeHandler=function(type){var listenerFns=events[type];isDefined(fn)&&arrayRemove(listenerFns||[],fn),isDefined(fn)&&listenerFns&&listenerFns.length>0||(element.removeEventListener(type,handle),delete events[type])};forEach(type.split(" "),function(type){removeHandler(type),MOUSE_EVENT_MAP[type]&&removeHandler(MOUSE_EVENT_MAP[type])})}else for(type in events)"$destroy"!==type&&element.removeEventListener(type,handle),delete events[type]}function jqLiteRemoveData(element,name){var expandoId=element.ng339,expandoStore=expandoId&&jqCache[expandoId];if(expandoStore){if(name)return void delete expandoStore.data[name];expandoStore.handle&&(expandoStore.events.$destroy&&expandoStore.handle({},"$destroy"),jqLiteOff(element)),delete jqCache[expandoId],element.ng339=void 0}}function jqLiteExpandoStore(element,createIfNecessary){var expandoId=element.ng339,expandoStore=expandoId&&jqCache[expandoId];return createIfNecessary&&!expandoStore&&(element.ng339=expandoId=jqNextId(),expandoStore=jqCache[expandoId]={events:{},data:{},handle:void 0}),expandoStore}function jqLiteData(element,key,value){if(jqLiteAcceptsData(element)){var prop,isSimpleSetter=isDefined(value),isSimpleGetter=!isSimpleSetter&&key&&!isObject(key),massGetter=!key,expandoStore=jqLiteExpandoStore(element,!isSimpleGetter),data=expandoStore&&expandoStore.data;if(isSimpleSetter)data[kebabToCamel(key)]=value;else{if(massGetter)return data;if(isSimpleGetter)return data&&data[kebabToCamel(key)];for(prop in key)data[kebabToCamel(prop)]=key[prop]}}}function jqLiteHasClass(element,selector){return!!element.getAttribute&&(" "+(element.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").indexOf(" "+selector+" ")>-1}function jqLiteRemoveClass(element,cssClasses){cssClasses&&element.setAttribute&&forEach(cssClasses.split(" "),function(cssClass){element.setAttribute("class",trim((" "+(element.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+trim(cssClass)+" "," ")))})}function jqLiteAddClass(element,cssClasses){if(cssClasses&&element.setAttribute){var existingClasses=(" "+(element.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");forEach(cssClasses.split(" "),function(cssClass){cssClass=trim(cssClass),existingClasses.indexOf(" "+cssClass+" ")===-1&&(existingClasses+=cssClass+" ")}),element.setAttribute("class",trim(existingClasses))}}function jqLiteAddNodes(root,elements){if(elements)if(elements.nodeType)root[root.length++]=elements;else{var length=elements.length;if("number"==typeof length&&elements.window!==elements){if(length)for(var i=0;i<length;i++)root[root.length++]=elements[i]}else root[root.length++]=elements}}function jqLiteController(element,name){return jqLiteInheritedData(element,"$"+(name||"ngController")+"Controller")}function jqLiteInheritedData(element,name,value){element.nodeType===NODE_TYPE_DOCUMENT&&(element=element.documentElement);for(var names=isArray(name)?name:[name];element;){for(var i=0,ii=names.length;i<ii;i++)if(isDefined(value=jqLite.data(element,names[i])))return value;element=element.parentNode||element.nodeType===NODE_TYPE_DOCUMENT_FRAGMENT&&element.host}}function jqLiteEmpty(element){for(jqLiteDealoc(element,!0);element.firstChild;)element.removeChild(element.firstChild)}function jqLiteRemove(element,keepData){keepData||jqLiteDealoc(element);var parent=element.parentNode;parent&&parent.removeChild(element)}function jqLiteDocumentLoaded(action,win){win=win||window,"complete"===win.document.readyState?win.setTimeout(action):jqLite(win).on("load",action)}function jqLiteReady(fn){function trigger(){window.document.removeEventListener("DOMContentLoaded",trigger),window.removeEventListener("load",trigger),fn()}"complete"===window.document.readyState?window.setTimeout(fn):(window.document.addEventListener("DOMContentLoaded",trigger),window.addEventListener("load",trigger))}function getBooleanAttrName(element,name){var booleanAttr=BOOLEAN_ATTR[name.toLowerCase()];return booleanAttr&&BOOLEAN_ELEMENTS[nodeName_(element)]&&booleanAttr}function getAliasedAttrName(name){return ALIASED_ATTR[name]}function createEventHandler(element,events){var eventHandler=function(event,type){event.isDefaultPrevented=function(){return event.defaultPrevented};var eventFns=events[type||event.type],eventFnsLength=eventFns?eventFns.length:0;if(eventFnsLength){if(isUndefined(event.immediatePropagationStopped)){var originalStopImmediatePropagation=event.stopImmediatePropagation;event.stopImmediatePropagation=function(){event.immediatePropagationStopped=!0,event.stopPropagation&&event.stopPropagation(),originalStopImmediatePropagation&&originalStopImmediatePropagation.call(event)}}event.isImmediatePropagationStopped=function(){return event.immediatePropagationStopped===!0};var handlerWrapper=eventFns.specialHandlerWrapper||defaultHandlerWrapper;
+eventFnsLength>1&&(eventFns=shallowCopy(eventFns));for(var i=0;i<eventFnsLength;i++)event.isImmediatePropagationStopped()||handlerWrapper(element,event,eventFns[i])}};return eventHandler.elem=element,eventHandler}function defaultHandlerWrapper(element,event,handler){handler.call(element,event)}function specialMouseHandlerWrapper(target,event,handler){var related=event.relatedTarget;related&&(related===target||jqLiteContains.call(target,related))||handler.call(target,event)}function $$jqLiteProvider(){this.$get=function(){return extend(JQLite,{hasClass:function(node,classes){return node.attr&&(node=node[0]),jqLiteHasClass(node,classes)},addClass:function(node,classes){return node.attr&&(node=node[0]),jqLiteAddClass(node,classes)},removeClass:function(node,classes){return node.attr&&(node=node[0]),jqLiteRemoveClass(node,classes)}})}}function hashKey(obj,nextUidFn){var key=obj&&obj.$$hashKey;if(key)return"function"==typeof key&&(key=obj.$$hashKey()),key;var objType=typeof obj;return key="function"===objType||"object"===objType&&null!==obj?obj.$$hashKey=objType+":"+(nextUidFn||nextUid)():objType+":"+obj}function NgMapShim(){this._keys=[],this._values=[],this._lastKey=NaN,this._lastIndex=-1}function stringifyFn(fn){return Function.prototype.toString.call(fn)}function extractArgs(fn){var fnText=stringifyFn(fn).replace(STRIP_COMMENTS,""),args=fnText.match(ARROW_ARG)||fnText.match(FN_ARGS);return args}function anonFn(fn){var args=extractArgs(fn);return args?"function("+(args[1]||"").replace(/[\s\r\n]+/," ")+")":"fn"}function annotate(fn,strictDi,name){var $inject,argDecl,last;if("function"==typeof fn){if(!($inject=fn.$inject)){if($inject=[],fn.length){if(strictDi)throw isString(name)&&name||(name=fn.name||anonFn(fn)),$injectorMinErr("strictdi","{0} is not using explicit annotation and cannot be invoked in strict mode",name);argDecl=extractArgs(fn),forEach(argDecl[1].split(FN_ARG_SPLIT),function(arg){arg.replace(FN_ARG,function(all,underscore,name){$inject.push(name)})})}fn.$inject=$inject}}else isArray(fn)?(last=fn.length-1,assertArgFn(fn[last],"fn"),$inject=fn.slice(0,last)):assertArgFn(fn,"fn",!0);return $inject}function createInjector(modulesToLoad,strictDi){function supportObject(delegate){return function(key,value){return isObject(key)?void forEach(key,reverseParams(delegate)):delegate(key,value)}}function provider(name,provider_){if(assertNotHasOwnProperty(name,"service"),(isFunction(provider_)||isArray(provider_))&&(provider_=providerInjector.instantiate(provider_)),!provider_.$get)throw $injectorMinErr("pget","Provider '{0}' must define $get factory method.",name);return providerCache[name+providerSuffix]=provider_}function enforceReturnValue(name,factory){return function(){var result=instanceInjector.invoke(factory,this);if(isUndefined(result))throw $injectorMinErr("undef","Provider '{0}' must return a value from $get factory method.",name);return result}}function factory(name,factoryFn,enforce){return provider(name,{$get:enforce!==!1?enforceReturnValue(name,factoryFn):factoryFn})}function service(name,constructor){return factory(name,["$injector",function($injector){return $injector.instantiate(constructor)}])}function value(name,val){return factory(name,valueFn(val),!1)}function constant(name,value){assertNotHasOwnProperty(name,"constant"),providerCache[name]=value,instanceCache[name]=value}function decorator(serviceName,decorFn){var origProvider=providerInjector.get(serviceName+providerSuffix),orig$get=origProvider.$get;origProvider.$get=function(){var origInstance=instanceInjector.invoke(orig$get,origProvider);return instanceInjector.invoke(decorFn,null,{$delegate:origInstance})}}function loadModules(modulesToLoad){assertArg(isUndefined(modulesToLoad)||isArray(modulesToLoad),"modulesToLoad","not an array");var moduleFn,runBlocks=[];return forEach(modulesToLoad,function(module){function runInvokeQueue(queue){var i,ii;for(i=0,ii=queue.length;i<ii;i++){var invokeArgs=queue[i],provider=providerInjector.get(invokeArgs[0]);provider[invokeArgs[1]].apply(provider,invokeArgs[2])}}if(!loadedModules.get(module)){loadedModules.set(module,!0);try{isString(module)?(moduleFn=angularModule(module),instanceInjector.modules[module]=moduleFn,runBlocks=runBlocks.concat(loadModules(moduleFn.requires)).concat(moduleFn._runBlocks),runInvokeQueue(moduleFn._invokeQueue),runInvokeQueue(moduleFn._configBlocks)):isFunction(module)?runBlocks.push(providerInjector.invoke(module)):isArray(module)?runBlocks.push(providerInjector.invoke(module)):assertArgFn(module,"module")}catch(e){throw isArray(module)&&(module=module[module.length-1]),e.message&&e.stack&&e.stack.indexOf(e.message)===-1&&(e=e.message+"\n"+e.stack),$injectorMinErr("modulerr","Failed to instantiate module {0} due to:\n{1}",module,e.stack||e.message||e)}}}),runBlocks}function createInternalInjector(cache,factory){function getService(serviceName,caller){if(cache.hasOwnProperty(serviceName)){if(cache[serviceName]===INSTANTIATING)throw $injectorMinErr("cdep","Circular dependency found: {0}",serviceName+" <- "+path.join(" <- "));return cache[serviceName]}try{return path.unshift(serviceName),cache[serviceName]=INSTANTIATING,cache[serviceName]=factory(serviceName,caller),cache[serviceName]}catch(err){throw cache[serviceName]===INSTANTIATING&&delete cache[serviceName],err}finally{path.shift()}}function injectionArgs(fn,locals,serviceName){for(var args=[],$inject=createInjector.$$annotate(fn,strictDi,serviceName),i=0,length=$inject.length;i<length;i++){var key=$inject[i];if("string"!=typeof key)throw $injectorMinErr("itkn","Incorrect injection token! Expected service name as string, got {0}",key);args.push(locals&&locals.hasOwnProperty(key)?locals[key]:getService(key,serviceName))}return args}function isClass(func){if(msie||"function"!=typeof func)return!1;var result=func.$$ngIsClass;return isBoolean(result)||(result=func.$$ngIsClass=/^(?:class\b|constructor\()/.test(stringifyFn(func))),result}function invoke(fn,self,locals,serviceName){"string"==typeof locals&&(serviceName=locals,locals=null);var args=injectionArgs(fn,locals,serviceName);return isArray(fn)&&(fn=fn[fn.length-1]),isClass(fn)?(args.unshift(null),new(Function.prototype.bind.apply(fn,args))):fn.apply(self,args)}function instantiate(Type,locals,serviceName){var ctor=isArray(Type)?Type[Type.length-1]:Type,args=injectionArgs(Type,locals,serviceName);return args.unshift(null),new(Function.prototype.bind.apply(ctor,args))}return{invoke:invoke,instantiate:instantiate,get:getService,annotate:createInjector.$$annotate,has:function(name){return providerCache.hasOwnProperty(name+providerSuffix)||cache.hasOwnProperty(name)}}}strictDi=strictDi===!0;var INSTANTIATING={},providerSuffix="Provider",path=[],loadedModules=new NgMap,providerCache={$provide:{provider:supportObject(provider),factory:supportObject(factory),service:supportObject(service),value:supportObject(value),constant:supportObject(constant),decorator:decorator}},providerInjector=providerCache.$injector=createInternalInjector(providerCache,function(serviceName,caller){throw angular.isString(caller)&&path.push(caller),$injectorMinErr("unpr","Unknown provider: {0}",path.join(" <- "))}),instanceCache={},protoInstanceInjector=createInternalInjector(instanceCache,function(serviceName,caller){var provider=providerInjector.get(serviceName+providerSuffix,caller);return instanceInjector.invoke(provider.$get,provider,void 0,serviceName)}),instanceInjector=protoInstanceInjector;providerCache["$injector"+providerSuffix]={$get:valueFn(protoInstanceInjector)},instanceInjector.modules=providerInjector.modules=createMap();var runBlocks=loadModules(modulesToLoad);return instanceInjector=protoInstanceInjector.get("$injector"),instanceInjector.strictDi=strictDi,forEach(runBlocks,function(fn){fn&&instanceInjector.invoke(fn)}),instanceInjector}function $AnchorScrollProvider(){var autoScrollingEnabled=!0;this.disableAutoScrolling=function(){autoScrollingEnabled=!1},this.$get=["$window","$location","$rootScope",function($window,$location,$rootScope){function getFirstAnchor(list){var result=null;return Array.prototype.some.call(list,function(element){if("a"===nodeName_(element))return result=element,!0}),result}function getYOffset(){var offset=scroll.yOffset;if(isFunction(offset))offset=offset();else if(isElement(offset)){var elem=offset[0],style=$window.getComputedStyle(elem);offset="fixed"!==style.position?0:elem.getBoundingClientRect().bottom}else isNumber(offset)||(offset=0);return offset}function scrollTo(elem){if(elem){elem.scrollIntoView();var offset=getYOffset();if(offset){var elemTop=elem.getBoundingClientRect().top;$window.scrollBy(0,elemTop-offset)}}else $window.scrollTo(0,0)}function scroll(hash){hash=isString(hash)?hash:isNumber(hash)?hash.toString():$location.hash();var elm;hash?(elm=document.getElementById(hash))?scrollTo(elm):(elm=getFirstAnchor(document.getElementsByName(hash)))?scrollTo(elm):"top"===hash&&scrollTo(null):scrollTo(null)}var document=$window.document;return autoScrollingEnabled&&$rootScope.$watch(function(){return $location.hash()},function(newVal,oldVal){newVal===oldVal&&""===newVal||jqLiteDocumentLoaded(function(){$rootScope.$evalAsync(scroll)})}),scroll}]}function mergeClasses(a,b){return a||b?a?b?(isArray(a)&&(a=a.join(" ")),isArray(b)&&(b=b.join(" ")),a+" "+b):a:b:""}function extractElementNode(element){for(var i=0;i<element.length;i++){var elm=element[i];if(elm.nodeType===ELEMENT_NODE)return elm}}function splitClasses(classes){isString(classes)&&(classes=classes.split(" "));var obj=createMap();return forEach(classes,function(klass){klass.length&&(obj[klass]=!0)}),obj}function prepareAnimateOptions(options){return isObject(options)?options:{}}function Browser(window,document,$log,$sniffer){function completeOutstandingRequest(fn){try{fn.apply(null,sliceArgs(arguments,1))}finally{if(outstandingRequestCount--,0===outstandingRequestCount)for(;outstandingRequestCallbacks.length;)try{outstandingRequestCallbacks.pop()()}catch(e){$log.error(e)}}}function getHash(url){var index=url.indexOf("#");return index===-1?"":url.substr(index)}function cacheStateAndFireUrlChange(){pendingLocation=null,fireStateOrUrlChange()}function cacheState(){cachedState=getCurrentState(),cachedState=isUndefined(cachedState)?null:cachedState,equals(cachedState,lastCachedState)&&(cachedState=lastCachedState),lastCachedState=cachedState,lastHistoryState=cachedState}function fireStateOrUrlChange(){var prevLastHistoryState=lastHistoryState;cacheState(),lastBrowserUrl===self.url()&&prevLastHistoryState===cachedState||(lastBrowserUrl=self.url(),lastHistoryState=cachedState,forEach(urlChangeListeners,function(listener){listener(self.url(),cachedState)}))}var self=this,location=window.location,history=window.history,setTimeout=window.setTimeout,clearTimeout=window.clearTimeout,pendingDeferIds={};self.isMock=!1;var outstandingRequestCount=0,outstandingRequestCallbacks=[];self.$$completeOutstandingRequest=completeOutstandingRequest,self.$$incOutstandingRequestCount=function(){outstandingRequestCount++},self.notifyWhenNoOutstandingRequests=function(callback){0===outstandingRequestCount?callback():outstandingRequestCallbacks.push(callback)};var cachedState,lastHistoryState,lastBrowserUrl=location.href,baseElement=document.find("base"),pendingLocation=null,getCurrentState=$sniffer.history?function(){try{return history.state}catch(e){}}:noop;cacheState(),self.url=function(url,replace,state){if(isUndefined(state)&&(state=null),location!==window.location&&(location=window.location),history!==window.history&&(history=window.history),url){var sameState=lastHistoryState===state;if(lastBrowserUrl===url&&(!$sniffer.history||sameState))return self;var sameBase=lastBrowserUrl&&stripHash(lastBrowserUrl)===stripHash(url);return lastBrowserUrl=url,lastHistoryState=state,!$sniffer.history||sameBase&&sameState?(sameBase||(pendingLocation=url),replace?location.replace(url):sameBase?location.hash=getHash(url):location.href=url,location.href!==url&&(pendingLocation=url)):(history[replace?"replaceState":"pushState"](state,"",url),cacheState()),pendingLocation&&(pendingLocation=url),self}return pendingLocation||location.href.replace(/%27/g,"'")},self.state=function(){return cachedState};var urlChangeListeners=[],urlChangeInit=!1,lastCachedState=null;self.onUrlChange=function(callback){return urlChangeInit||($sniffer.history&&jqLite(window).on("popstate",cacheStateAndFireUrlChange),jqLite(window).on("hashchange",cacheStateAndFireUrlChange),urlChangeInit=!0),urlChangeListeners.push(callback),callback},self.$$applicationDestroyed=function(){jqLite(window).off("hashchange popstate",cacheStateAndFireUrlChange)},self.$$checkUrlChange=fireStateOrUrlChange,self.baseHref=function(){var href=baseElement.attr("href");return href?href.replace(/^(https?:)?\/\/[^\/]*/,""):""},self.defer=function(fn,delay){var timeoutId;return outstandingRequestCount++,timeoutId=setTimeout(function(){delete pendingDeferIds[timeoutId],completeOutstandingRequest(fn)},delay||0),pendingDeferIds[timeoutId]=!0,timeoutId},self.defer.cancel=function(deferId){return!!pendingDeferIds[deferId]&&(delete pendingDeferIds[deferId],clearTimeout(deferId),completeOutstandingRequest(noop),!0)}}function $BrowserProvider(){this.$get=["$window","$log","$sniffer","$document",function($window,$log,$sniffer,$document){return new Browser($window,$document,$log,$sniffer)}]}function $CacheFactoryProvider(){this.$get=function(){function cacheFactory(cacheId,options){function refresh(entry){entry!==freshEnd&&(staleEnd?staleEnd===entry&&(staleEnd=entry.n):staleEnd=entry,link(entry.n,entry.p),link(entry,freshEnd),freshEnd=entry,freshEnd.n=null)}function link(nextEntry,prevEntry){nextEntry!==prevEntry&&(nextEntry&&(nextEntry.p=prevEntry),prevEntry&&(prevEntry.n=nextEntry))}if(cacheId in caches)throw minErr("$cacheFactory")("iid","CacheId '{0}' is already taken!",cacheId);var size=0,stats=extend({},options,{id:cacheId}),data=createMap(),capacity=options&&options.capacity||Number.MAX_VALUE,lruHash=createMap(),freshEnd=null,staleEnd=null;return caches[cacheId]={put:function(key,value){if(!isUndefined(value)){if(capacity<Number.MAX_VALUE){var lruEntry=lruHash[key]||(lruHash[key]={key:key});refresh(lruEntry)}return key in data||size++,data[key]=value,size>capacity&&this.remove(staleEnd.key),value}},get:function(key){if(capacity<Number.MAX_VALUE){var lruEntry=lruHash[key];if(!lruEntry)return;refresh(lruEntry)}return data[key]},remove:function(key){if(capacity<Number.MAX_VALUE){var lruEntry=lruHash[key];if(!lruEntry)return;lruEntry===freshEnd&&(freshEnd=lruEntry.p),lruEntry===staleEnd&&(staleEnd=lruEntry.n),link(lruEntry.n,lruEntry.p),delete lruHash[key]}key in data&&(delete data[key],size--)},removeAll:function(){data=createMap(),size=0,lruHash=createMap(),freshEnd=staleEnd=null},destroy:function(){data=null,stats=null,lruHash=null,delete caches[cacheId]},info:function(){return extend({},stats,{size:size})}}}var caches={};return cacheFactory.info=function(){var info={};return forEach(caches,function(cache,cacheId){info[cacheId]=cache.info()}),info},cacheFactory.get=function(cacheId){return caches[cacheId]},cacheFactory}}function $TemplateCacheProvider(){this.$get=["$cacheFactory",function($cacheFactory){return $cacheFactory("templates")}]}function UNINITIALIZED_VALUE(){}function $CompileProvider($provide,$$sanitizeUriProvider){function parseIsolateBindings(scope,directiveName,isController){var LOCAL_REGEXP=/^\s*([@&<]|=(\*?))(\??)\s*([\w$]*)\s*$/,bindings=createMap();return forEach(scope,function(definition,scopeName){if(definition in bindingCache)return void(bindings[scopeName]=bindingCache[definition]);var match=definition.match(LOCAL_REGEXP);if(!match)throw $compileMinErr("iscp","Invalid {3} for directive '{0}'. Definition: {... {1}: '{2}' ...}",directiveName,scopeName,definition,isController?"controller bindings definition":"isolate scope definition");bindings[scopeName]={mode:match[1][0],collection:"*"===match[2],optional:"?"===match[3],attrName:match[4]||scopeName},match[4]&&(bindingCache[definition]=bindings[scopeName])}),bindings}function parseDirectiveBindings(directive,directiveName){var bindings={isolateScope:null,bindToController:null};if(isObject(directive.scope)&&(directive.bindToController===!0?(bindings.bindToController=parseIsolateBindings(directive.scope,directiveName,!0),bindings.isolateScope={}):bindings.isolateScope=parseIsolateBindings(directive.scope,directiveName,!1)),isObject(directive.bindToController)&&(bindings.bindToController=parseIsolateBindings(directive.bindToController,directiveName,!0)),bindings.bindToController&&!directive.controller)throw $compileMinErr("noctrl","Cannot bind to controller without directive '{0}'s controller.",directiveName);return bindings}function assertValidDirectiveName(name){var letter=name.charAt(0);if(!letter||letter!==lowercase(letter))throw $compileMinErr("baddir","Directive/Component name '{0}' is invalid. The first character must be a lowercase letter",name);if(name!==name.trim())throw $compileMinErr("baddir","Directive/Component name '{0}' is invalid. The name should not contain leading or trailing whitespaces",name)}function getDirectiveRequire(directive){var require=directive.require||directive.controller&&directive.name;return!isArray(require)&&isObject(require)&&forEach(require,function(value,key){var match=value.match(REQUIRE_PREFIX_REGEXP),name=value.substring(match[0].length);name||(require[key]=match[0]+key)}),require}function getDirectiveRestrict(restrict,name){if(restrict&&(!isString(restrict)||!/[EACM]/.test(restrict)))throw $compileMinErr("badrestrict","Restrict property '{0}' of directive '{1}' is invalid",restrict,name);return restrict||"EA"}var hasDirectives={},Suffix="Directive",COMMENT_DIRECTIVE_REGEXP=/^\s*directive:\s*([\w-]+)\s+(.*)$/,CLASS_DIRECTIVE_REGEXP=/(([\w-]+)(?::([^;]+))?;?)/,ALL_OR_NOTHING_ATTRS=makeMap("ngSrc,ngSrcset,src,srcset"),REQUIRE_PREFIX_REGEXP=/^(?:(\^\^?)?(\?)?(\^\^?)?)?/,EVENT_HANDLER_ATTR_REGEXP=/^(on[a-z]+|formaction)$/,bindingCache=createMap();this.directive=function registerDirective(name,directiveFactory){return assertArg(name,"name"),assertNotHasOwnProperty(name,"directive"),isString(name)?(assertValidDirectiveName(name),assertArg(directiveFactory,"directiveFactory"),hasDirectives.hasOwnProperty(name)||(hasDirectives[name]=[],$provide.factory(name+Suffix,["$injector","$exceptionHandler",function($injector,$exceptionHandler){var directives=[];return forEach(hasDirectives[name],function(directiveFactory,index){try{var directive=$injector.invoke(directiveFactory);isFunction(directive)?directive={compile:valueFn(directive)}:!directive.compile&&directive.link&&(directive.compile=valueFn(directive.link)),directive.priority=directive.priority||0,directive.index=index,directive.name=directive.name||name,directive.require=getDirectiveRequire(directive),directive.restrict=getDirectiveRestrict(directive.restrict,name),directive.$$moduleName=directiveFactory.$$moduleName,directives.push(directive)}catch(e){$exceptionHandler(e)}}),directives}])),hasDirectives[name].push(directiveFactory)):forEach(name,reverseParams(registerDirective)),this},this.component=function(name,options){function factory($injector){function makeInjectable(fn){return isFunction(fn)||isArray(fn)?function(tElement,tAttrs){return $injector.invoke(fn,this,{$element:tElement,$attrs:tAttrs})}:fn}var template=options.template||options.templateUrl?options.template:"",ddo={controller:controller,controllerAs:identifierForController(options.controller)||options.controllerAs||"$ctrl",template:makeInjectable(template),templateUrl:makeInjectable(options.templateUrl),transclude:options.transclude,scope:{},bindToController:options.bindings||{},restrict:"E",require:options.require};return forEach(options,function(val,key){"$"===key.charAt(0)&&(ddo[key]=val)}),ddo}var controller=options.controller||function(){};return forEach(options,function(val,key){"$"===key.charAt(0)&&(factory[key]=val,isFunction(controller)&&(controller[key]=val))}),factory.$inject=["$injector"],this.directive(name,factory)},this.aHrefSanitizationWhitelist=function(regexp){return isDefined(regexp)?($$sanitizeUriProvider.aHrefSanitizationWhitelist(regexp),this):$$sanitizeUriProvider.aHrefSanitizationWhitelist()},this.imgSrcSanitizationWhitelist=function(regexp){return isDefined(regexp)?($$sanitizeUriProvider.imgSrcSanitizationWhitelist(regexp),this):$$sanitizeUriProvider.imgSrcSanitizationWhitelist()};var debugInfoEnabled=!0;this.debugInfoEnabled=function(enabled){return isDefined(enabled)?(debugInfoEnabled=enabled,this):debugInfoEnabled};var preAssignBindingsEnabled=!1;this.preAssignBindingsEnabled=function(enabled){return isDefined(enabled)?(preAssignBindingsEnabled=enabled,this):preAssignBindingsEnabled};var TTL=10;this.onChangesTtl=function(value){return arguments.length?(TTL=value,this):TTL};var commentDirectivesEnabledConfig=!0;this.commentDirectivesEnabled=function(value){return arguments.length?(commentDirectivesEnabledConfig=value,this):commentDirectivesEnabledConfig};var cssClassDirectivesEnabledConfig=!0;this.cssClassDirectivesEnabled=function(value){return arguments.length?(cssClassDirectivesEnabledConfig=value,this):cssClassDirectivesEnabledConfig},this.$get=["$injector","$interpolate","$exceptionHandler","$templateRequest","$parse","$controller","$rootScope","$sce","$animate","$$sanitizeUri",function($injector,$interpolate,$exceptionHandler,$templateRequest,$parse,$controller,$rootScope,$sce,$animate,$$sanitizeUri){function flushOnChangesQueue(){try{if(!--onChangesTtl)throw onChangesQueue=void 0,$compileMinErr("infchng","{0} $onChanges() iterations reached. Aborting!\n",TTL);$rootScope.$apply(function(){for(var errors=[],i=0,ii=onChangesQueue.length;i<ii;++i)try{onChangesQueue[i]()}catch(e){errors.push(e)}if(onChangesQueue=void 0,errors.length)throw errors})}finally{onChangesTtl++}}function Attributes(element,attributesToCopy){if(attributesToCopy){var i,l,key,keys=Object.keys(attributesToCopy);for(i=0,l=keys.length;i<l;i++)key=keys[i],this[key]=attributesToCopy[key]}else this.$attr={};this.$$element=element}function setSpecialAttr(element,attrName,value){specialAttrHolder.innerHTML="<span "+attrName+">";var attributes=specialAttrHolder.firstChild.attributes,attribute=attributes[0];attributes.removeNamedItem(attribute.name),attribute.value=value,element.attributes.setNamedItem(attribute)}function safeAddClass($element,className){try{$element.addClass(className)}catch(e){}}function compile($compileNodes,transcludeFn,maxPriority,ignoreDirective,previousCompileContext){$compileNodes instanceof jqLite||($compileNodes=jqLite($compileNodes));var compositeLinkFn=compileNodes($compileNodes,transcludeFn,$compileNodes,maxPriority,ignoreDirective,previousCompileContext);compile.$$addScopeClass($compileNodes);var namespace=null;return function(scope,cloneConnectFn,options){if(!$compileNodes)throw $compileMinErr("multilink","This element has already been linked.");assertArg(scope,"scope"),previousCompileContext&&previousCompileContext.needsNewScope&&(scope=scope.$parent.$new()),options=options||{};var parentBoundTranscludeFn=options.parentBoundTranscludeFn,transcludeControllers=options.transcludeControllers,futureParentElement=options.futureParentElement;parentBoundTranscludeFn&&parentBoundTranscludeFn.$$boundTransclude&&(parentBoundTranscludeFn=parentBoundTranscludeFn.$$boundTransclude),namespace||(namespace=detectNamespaceForChildElements(futureParentElement));var $linkNode;if($linkNode="html"!==namespace?jqLite(wrapTemplate(namespace,jqLite("<div>").append($compileNodes).html())):cloneConnectFn?JQLitePrototype.clone.call($compileNodes):$compileNodes,transcludeControllers)for(var controllerName in transcludeControllers)$linkNode.data("$"+controllerName+"Controller",transcludeControllers[controllerName].instance);return compile.$$addScopeInfo($linkNode,scope),cloneConnectFn&&cloneConnectFn($linkNode,scope),compositeLinkFn&&compositeLinkFn(scope,$linkNode,$linkNode,parentBoundTranscludeFn),cloneConnectFn||($compileNodes=compositeLinkFn=null),$linkNode}}function detectNamespaceForChildElements(parentElement){var node=parentElement&&parentElement[0];return node&&"foreignobject"!==nodeName_(node)&&toString.call(node).match(/SVG/)?"svg":"html"}function compileNodes(nodeList,transcludeFn,$rootElement,maxPriority,ignoreDirective,previousCompileContext){function compositeLinkFn(scope,nodeList,$rootElement,parentBoundTranscludeFn){var nodeLinkFn,childLinkFn,node,childScope,i,ii,idx,childBoundTranscludeFn,stableNodeList;if(nodeLinkFnFound){var nodeListLength=nodeList.length;for(stableNodeList=new Array(nodeListLength),i=0;i<linkFns.length;i+=3)idx=linkFns[i],stableNodeList[idx]=nodeList[idx]}else stableNodeList=nodeList;for(i=0,ii=linkFns.length;i<ii;)node=stableNodeList[linkFns[i++]],nodeLinkFn=linkFns[i++],childLinkFn=linkFns[i++],nodeLinkFn?(nodeLinkFn.scope?(childScope=scope.$new(),compile.$$addScopeInfo(jqLite(node),childScope)):childScope=scope,childBoundTranscludeFn=nodeLinkFn.transcludeOnThisElement?createBoundTranscludeFn(scope,nodeLinkFn.transclude,parentBoundTranscludeFn):!nodeLinkFn.templateOnThisElement&&parentBoundTranscludeFn?parentBoundTranscludeFn:!parentBoundTranscludeFn&&transcludeFn?createBoundTranscludeFn(scope,transcludeFn):null,nodeLinkFn(childLinkFn,childScope,node,$rootElement,childBoundTranscludeFn)):childLinkFn&&childLinkFn(scope,node.childNodes,void 0,parentBoundTranscludeFn)}for(var attrs,directives,nodeLinkFn,childNodes,childLinkFn,linkFnFound,nodeLinkFnFound,linkFns=[],notLiveList=isArray(nodeList)||nodeList instanceof jqLite,i=0;i<nodeList.length;i++)attrs=new Attributes,11===msie&&mergeConsecutiveTextNodes(nodeList,i,notLiveList),directives=collectDirectives(nodeList[i],[],attrs,0===i?maxPriority:void 0,ignoreDirective),nodeLinkFn=directives.length?applyDirectivesToNode(directives,nodeList[i],attrs,transcludeFn,$rootElement,null,[],[],previousCompileContext):null,nodeLinkFn&&nodeLinkFn.scope&&compile.$$addScopeClass(attrs.$$element),childLinkFn=nodeLinkFn&&nodeLinkFn.terminal||!(childNodes=nodeList[i].childNodes)||!childNodes.length?null:compileNodes(childNodes,nodeLinkFn?(nodeLinkFn.transcludeOnThisElement||!nodeLinkFn.templateOnThisElement)&&nodeLinkFn.transclude:transcludeFn),(nodeLinkFn||childLinkFn)&&(linkFns.push(i,nodeLinkFn,childLinkFn),linkFnFound=!0,nodeLinkFnFound=nodeLinkFnFound||nodeLinkFn),previousCompileContext=null;return linkFnFound?compositeLinkFn:null}function mergeConsecutiveTextNodes(nodeList,idx,notLiveList){var sibling,node=nodeList[idx],parent=node.parentNode;if(node.nodeType===NODE_TYPE_TEXT)for(;;){if(sibling=parent?node.nextSibling:nodeList[idx+1],!sibling||sibling.nodeType!==NODE_TYPE_TEXT)break;node.nodeValue=node.nodeValue+sibling.nodeValue,sibling.parentNode&&sibling.parentNode.removeChild(sibling),notLiveList&&sibling===nodeList[idx+1]&&nodeList.splice(idx+1,1)}}function createBoundTranscludeFn(scope,transcludeFn,previousBoundTranscludeFn){function boundTranscludeFn(transcludedScope,cloneFn,controllers,futureParentElement,containingScope){return transcludedScope||(transcludedScope=scope.$new(!1,containingScope),transcludedScope.$$transcluded=!0),transcludeFn(transcludedScope,cloneFn,{parentBoundTranscludeFn:previousBoundTranscludeFn,transcludeControllers:controllers,futureParentElement:futureParentElement})}var boundSlots=boundTranscludeFn.$$slots=createMap();for(var slotName in transcludeFn.$$slots)transcludeFn.$$slots[slotName]?boundSlots[slotName]=createBoundTranscludeFn(scope,transcludeFn.$$slots[slotName],previousBoundTranscludeFn):boundSlots[slotName]=null;return boundTranscludeFn}function collectDirectives(node,directives,attrs,maxPriority,ignoreDirective){var match,nodeName,className,nodeType=node.nodeType,attrsMap=attrs.$attr;switch(nodeType){case NODE_TYPE_ELEMENT:nodeName=nodeName_(node),addDirective(directives,directiveNormalize(nodeName),"E",maxPriority,ignoreDirective);for(var attr,name,nName,ngAttrName,value,isNgAttr,nAttrs=node.attributes,j=0,jj=nAttrs&&nAttrs.length;j<jj;j++){var attrStartName=!1,attrEndName=!1;attr=nAttrs[j],name=attr.name,value=attr.value,ngAttrName=directiveNormalize(name),isNgAttr=NG_ATTR_BINDING.test(ngAttrName),isNgAttr&&(name=name.replace(PREFIX_REGEXP,"").substr(8).replace(/_(.)/g,function(match,letter){return letter.toUpperCase()}));var multiElementMatch=ngAttrName.match(MULTI_ELEMENT_DIR_RE);multiElementMatch&&directiveIsMultiElement(multiElementMatch[1])&&(attrStartName=name,attrEndName=name.substr(0,name.length-5)+"end",name=name.substr(0,name.length-6)),nName=directiveNormalize(name.toLowerCase()),attrsMap[nName]=name,!isNgAttr&&attrs.hasOwnProperty(nName)||(attrs[nName]=value,getBooleanAttrName(node,nName)&&(attrs[nName]=!0)),addAttrInterpolateDirective(node,directives,value,nName,isNgAttr),addDirective(directives,nName,"A",maxPriority,ignoreDirective,attrStartName,attrEndName)}if("input"===nodeName&&"hidden"===node.getAttribute("type")&&node.setAttribute("autocomplete","off"),!cssClassDirectivesEnabled)break;if(className=node.className,isObject(className)&&(className=className.animVal),isString(className)&&""!==className)for(;match=CLASS_DIRECTIVE_REGEXP.exec(className);)nName=directiveNormalize(match[2]),addDirective(directives,nName,"C",maxPriority,ignoreDirective)&&(attrs[nName]=trim(match[3])),className=className.substr(match.index+match[0].length);break;case NODE_TYPE_TEXT:addTextInterpolateDirective(directives,node.nodeValue);break;case NODE_TYPE_COMMENT:if(!commentDirectivesEnabled)break;collectCommentDirectives(node,directives,attrs,maxPriority,ignoreDirective)}return directives.sort(byPriority),directives}function collectCommentDirectives(node,directives,attrs,maxPriority,ignoreDirective){try{var match=COMMENT_DIRECTIVE_REGEXP.exec(node.nodeValue);if(match){var nName=directiveNormalize(match[1]);addDirective(directives,nName,"M",maxPriority,ignoreDirective)&&(attrs[nName]=trim(match[2]))}}catch(e){}}function groupScan(node,attrStart,attrEnd){var nodes=[],depth=0;if(attrStart&&node.hasAttribute&&node.hasAttribute(attrStart)){do{if(!node)throw $compileMinErr("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",attrStart,attrEnd);node.nodeType===NODE_TYPE_ELEMENT&&(node.hasAttribute(attrStart)&&depth++,node.hasAttribute(attrEnd)&&depth--),nodes.push(node),node=node.nextSibling}while(depth>0)}else nodes.push(node);return jqLite(nodes)}function groupElementsLinkFnWrapper(linkFn,attrStart,attrEnd){return function(scope,element,attrs,controllers,transcludeFn){return element=groupScan(element[0],attrStart,attrEnd),linkFn(scope,element,attrs,controllers,transcludeFn)}}function compilationGenerator(eager,$compileNodes,transcludeFn,maxPriority,ignoreDirective,previousCompileContext){var compiled;return eager?compile($compileNodes,transcludeFn,maxPriority,ignoreDirective,previousCompileContext):function(){return compiled||(compiled=compile($compileNodes,transcludeFn,maxPriority,ignoreDirective,previousCompileContext),$compileNodes=transcludeFn=previousCompileContext=null),compiled.apply(this,arguments)}}function applyDirectivesToNode(directives,compileNode,templateAttrs,transcludeFn,jqCollection,originalReplaceDirective,preLinkFns,postLinkFns,previousCompileContext){function addLinkFns(pre,post,attrStart,attrEnd){pre&&(attrStart&&(pre=groupElementsLinkFnWrapper(pre,attrStart,attrEnd)),pre.require=directive.require,pre.directiveName=directiveName,(newIsolateScopeDirective===directive||directive.$$isolateScope)&&(pre=cloneAndAnnotateFn(pre,{isolateScope:!0})),preLinkFns.push(pre)),post&&(attrStart&&(post=groupElementsLinkFnWrapper(post,attrStart,attrEnd)),post.require=directive.require,post.directiveName=directiveName,(newIsolateScopeDirective===directive||directive.$$isolateScope)&&(post=cloneAndAnnotateFn(post,{isolateScope:!0})),postLinkFns.push(post))}function nodeLinkFn(childLinkFn,scope,linkNode,$rootElement,boundTranscludeFn){function controllersBoundTransclude(scope,cloneAttachFn,futureParentElement,slotName){
+var transcludeControllers;if(isScope(scope)||(slotName=futureParentElement,futureParentElement=cloneAttachFn,cloneAttachFn=scope,scope=void 0),hasElementTranscludeDirective&&(transcludeControllers=elementControllers),futureParentElement||(futureParentElement=hasElementTranscludeDirective?$element.parent():$element),!slotName)return boundTranscludeFn(scope,cloneAttachFn,transcludeControllers,futureParentElement,scopeToChild);var slotTranscludeFn=boundTranscludeFn.$$slots[slotName];if(slotTranscludeFn)return slotTranscludeFn(scope,cloneAttachFn,transcludeControllers,futureParentElement,scopeToChild);if(isUndefined(slotTranscludeFn))throw $compileMinErr("noslot",'No parent directive that requires a transclusion with slot name "{0}". Element: {1}',slotName,startingTag($element))}var i,ii,linkFn,isolateScope,controllerScope,elementControllers,transcludeFn,$element,attrs,scopeBindingInfo;compileNode===linkNode?(attrs=templateAttrs,$element=templateAttrs.$$element):($element=jqLite(linkNode),attrs=new Attributes($element,templateAttrs)),controllerScope=scope,newIsolateScopeDirective?isolateScope=scope.$new(!0):newScopeDirective&&(controllerScope=scope.$parent),boundTranscludeFn&&(transcludeFn=controllersBoundTransclude,transcludeFn.$$boundTransclude=boundTranscludeFn,transcludeFn.isSlotFilled=function(slotName){return!!boundTranscludeFn.$$slots[slotName]}),controllerDirectives&&(elementControllers=setupControllers($element,attrs,transcludeFn,controllerDirectives,isolateScope,scope,newIsolateScopeDirective)),newIsolateScopeDirective&&(compile.$$addScopeInfo($element,isolateScope,!0,!(templateDirective&&(templateDirective===newIsolateScopeDirective||templateDirective===newIsolateScopeDirective.$$originalDirective))),compile.$$addScopeClass($element,!0),isolateScope.$$isolateBindings=newIsolateScopeDirective.$$isolateBindings,scopeBindingInfo=initializeDirectiveBindings(scope,attrs,isolateScope,isolateScope.$$isolateBindings,newIsolateScopeDirective),scopeBindingInfo.removeWatches&&isolateScope.$on("$destroy",scopeBindingInfo.removeWatches));for(var name in elementControllers){var controllerDirective=controllerDirectives[name],controller=elementControllers[name],bindings=controllerDirective.$$bindings.bindToController;if(preAssignBindingsEnabled){bindings?controller.bindingInfo=initializeDirectiveBindings(controllerScope,attrs,controller.instance,bindings,controllerDirective):controller.bindingInfo={};var controllerResult=controller();controllerResult!==controller.instance&&(controller.instance=controllerResult,$element.data("$"+controllerDirective.name+"Controller",controllerResult),controller.bindingInfo.removeWatches&&controller.bindingInfo.removeWatches(),controller.bindingInfo=initializeDirectiveBindings(controllerScope,attrs,controller.instance,bindings,controllerDirective))}else controller.instance=controller(),$element.data("$"+controllerDirective.name+"Controller",controller.instance),controller.bindingInfo=initializeDirectiveBindings(controllerScope,attrs,controller.instance,bindings,controllerDirective)}for(forEach(controllerDirectives,function(controllerDirective,name){var require=controllerDirective.require;controllerDirective.bindToController&&!isArray(require)&&isObject(require)&&extend(elementControllers[name].instance,getControllers(name,require,$element,elementControllers))}),forEach(elementControllers,function(controller){var controllerInstance=controller.instance;if(isFunction(controllerInstance.$onChanges))try{controllerInstance.$onChanges(controller.bindingInfo.initialChanges)}catch(e){$exceptionHandler(e)}if(isFunction(controllerInstance.$onInit))try{controllerInstance.$onInit()}catch(e){$exceptionHandler(e)}isFunction(controllerInstance.$doCheck)&&(controllerScope.$watch(function(){controllerInstance.$doCheck()}),controllerInstance.$doCheck()),isFunction(controllerInstance.$onDestroy)&&controllerScope.$on("$destroy",function(){controllerInstance.$onDestroy()})}),i=0,ii=preLinkFns.length;i<ii;i++)linkFn=preLinkFns[i],invokeLinkFn(linkFn,linkFn.isolateScope?isolateScope:scope,$element,attrs,linkFn.require&&getControllers(linkFn.directiveName,linkFn.require,$element,elementControllers),transcludeFn);var scopeToChild=scope;for(newIsolateScopeDirective&&(newIsolateScopeDirective.template||null===newIsolateScopeDirective.templateUrl)&&(scopeToChild=isolateScope),childLinkFn&&childLinkFn(scopeToChild,linkNode.childNodes,void 0,boundTranscludeFn),i=postLinkFns.length-1;i>=0;i--)linkFn=postLinkFns[i],invokeLinkFn(linkFn,linkFn.isolateScope?isolateScope:scope,$element,attrs,linkFn.require&&getControllers(linkFn.directiveName,linkFn.require,$element,elementControllers),transcludeFn);forEach(elementControllers,function(controller){var controllerInstance=controller.instance;isFunction(controllerInstance.$postLink)&&controllerInstance.$postLink()})}previousCompileContext=previousCompileContext||{};for(var directive,directiveName,$template,linkFn,directiveValue,terminalPriority=-Number.MAX_VALUE,newScopeDirective=previousCompileContext.newScopeDirective,controllerDirectives=previousCompileContext.controllerDirectives,newIsolateScopeDirective=previousCompileContext.newIsolateScopeDirective,templateDirective=previousCompileContext.templateDirective,nonTlbTranscludeDirective=previousCompileContext.nonTlbTranscludeDirective,hasTranscludeDirective=!1,hasTemplate=!1,hasElementTranscludeDirective=previousCompileContext.hasElementTranscludeDirective,$compileNode=templateAttrs.$$element=jqLite(compileNode),replaceDirective=originalReplaceDirective,childTranscludeFn=transcludeFn,didScanForMultipleTransclusion=!1,mightHaveMultipleTransclusionError=!1,i=0,ii=directives.length;i<ii;i++){directive=directives[i];var attrStart=directive.$$start,attrEnd=directive.$$end;if(attrStart&&($compileNode=groupScan(compileNode,attrStart,attrEnd)),$template=void 0,terminalPriority>directive.priority)break;if(directiveValue=directive.scope,directiveValue&&(directive.templateUrl||(isObject(directiveValue)?(assertNoDuplicate("new/isolated scope",newIsolateScopeDirective||newScopeDirective,directive,$compileNode),newIsolateScopeDirective=directive):assertNoDuplicate("new/isolated scope",newIsolateScopeDirective,directive,$compileNode)),newScopeDirective=newScopeDirective||directive),directiveName=directive.name,!didScanForMultipleTransclusion&&(directive.replace&&(directive.templateUrl||directive.template)||directive.transclude&&!directive.$$tlb)){for(var candidateDirective,scanningIndex=i+1;candidateDirective=directives[scanningIndex++];)if(candidateDirective.transclude&&!candidateDirective.$$tlb||candidateDirective.replace&&(candidateDirective.templateUrl||candidateDirective.template)){mightHaveMultipleTransclusionError=!0;break}didScanForMultipleTransclusion=!0}if(!directive.templateUrl&&directive.controller&&(controllerDirectives=controllerDirectives||createMap(),assertNoDuplicate("'"+directiveName+"' controller",controllerDirectives[directiveName],directive,$compileNode),controllerDirectives[directiveName]=directive),directiveValue=directive.transclude)if(hasTranscludeDirective=!0,directive.$$tlb||(assertNoDuplicate("transclusion",nonTlbTranscludeDirective,directive,$compileNode),nonTlbTranscludeDirective=directive),"element"===directiveValue)hasElementTranscludeDirective=!0,terminalPriority=directive.priority,$template=$compileNode,$compileNode=templateAttrs.$$element=jqLite(compile.$$createComment(directiveName,templateAttrs[directiveName])),compileNode=$compileNode[0],replaceWith(jqCollection,sliceArgs($template),compileNode),$template[0].$$parentNode=$template[0].parentNode,childTranscludeFn=compilationGenerator(mightHaveMultipleTransclusionError,$template,transcludeFn,terminalPriority,replaceDirective&&replaceDirective.name,{nonTlbTranscludeDirective:nonTlbTranscludeDirective});else{var slots=createMap();if(isObject(directiveValue)){$template=[];var slotMap=createMap(),filledSlots=createMap();forEach(directiveValue,function(elementSelector,slotName){var optional="?"===elementSelector.charAt(0);elementSelector=optional?elementSelector.substring(1):elementSelector,slotMap[elementSelector]=slotName,slots[slotName]=null,filledSlots[slotName]=optional}),forEach($compileNode.contents(),function(node){var slotName=slotMap[directiveNormalize(nodeName_(node))];slotName?(filledSlots[slotName]=!0,slots[slotName]=slots[slotName]||[],slots[slotName].push(node)):$template.push(node)}),forEach(filledSlots,function(filled,slotName){if(!filled)throw $compileMinErr("reqslot","Required transclusion slot `{0}` was not filled.",slotName)});for(var slotName in slots)slots[slotName]&&(slots[slotName]=compilationGenerator(mightHaveMultipleTransclusionError,slots[slotName],transcludeFn))}else $template=jqLite(jqLiteClone(compileNode)).contents();$compileNode.empty(),childTranscludeFn=compilationGenerator(mightHaveMultipleTransclusionError,$template,transcludeFn,void 0,void 0,{needsNewScope:directive.$$isolateScope||directive.$$newScope}),childTranscludeFn.$$slots=slots}if(directive.template)if(hasTemplate=!0,assertNoDuplicate("template",templateDirective,directive,$compileNode),templateDirective=directive,directiveValue=isFunction(directive.template)?directive.template($compileNode,templateAttrs):directive.template,directiveValue=denormalizeTemplate(directiveValue),directive.replace){if(replaceDirective=directive,$template=jqLiteIsTextNode(directiveValue)?[]:removeComments(wrapTemplate(directive.templateNamespace,trim(directiveValue))),compileNode=$template[0],1!==$template.length||compileNode.nodeType!==NODE_TYPE_ELEMENT)throw $compileMinErr("tplrt","Template for directive '{0}' must have exactly one root element. {1}",directiveName,"");replaceWith(jqCollection,$compileNode,compileNode);var newTemplateAttrs={$attr:{}},templateDirectives=collectDirectives(compileNode,[],newTemplateAttrs),unprocessedDirectives=directives.splice(i+1,directives.length-(i+1));(newIsolateScopeDirective||newScopeDirective)&&markDirectiveScope(templateDirectives,newIsolateScopeDirective,newScopeDirective),directives=directives.concat(templateDirectives).concat(unprocessedDirectives),mergeTemplateAttributes(templateAttrs,newTemplateAttrs),ii=directives.length}else $compileNode.html(directiveValue);if(directive.templateUrl)hasTemplate=!0,assertNoDuplicate("template",templateDirective,directive,$compileNode),templateDirective=directive,directive.replace&&(replaceDirective=directive),nodeLinkFn=compileTemplateUrl(directives.splice(i,directives.length-i),$compileNode,templateAttrs,jqCollection,hasTranscludeDirective&&childTranscludeFn,preLinkFns,postLinkFns,{controllerDirectives:controllerDirectives,newScopeDirective:newScopeDirective!==directive&&newScopeDirective,newIsolateScopeDirective:newIsolateScopeDirective,templateDirective:templateDirective,nonTlbTranscludeDirective:nonTlbTranscludeDirective}),ii=directives.length;else if(directive.compile)try{linkFn=directive.compile($compileNode,templateAttrs,childTranscludeFn);var context=directive.$$originalDirective||directive;isFunction(linkFn)?addLinkFns(null,bind(context,linkFn),attrStart,attrEnd):linkFn&&addLinkFns(bind(context,linkFn.pre),bind(context,linkFn.post),attrStart,attrEnd)}catch(e){$exceptionHandler(e,startingTag($compileNode))}directive.terminal&&(nodeLinkFn.terminal=!0,terminalPriority=Math.max(terminalPriority,directive.priority))}return nodeLinkFn.scope=newScopeDirective&&newScopeDirective.scope===!0,nodeLinkFn.transcludeOnThisElement=hasTranscludeDirective,nodeLinkFn.templateOnThisElement=hasTemplate,nodeLinkFn.transclude=childTranscludeFn,previousCompileContext.hasElementTranscludeDirective=hasElementTranscludeDirective,nodeLinkFn}function getControllers(directiveName,require,$element,elementControllers){var value;if(isString(require)){var match=require.match(REQUIRE_PREFIX_REGEXP),name=require.substring(match[0].length),inheritType=match[1]||match[3],optional="?"===match[2];if("^^"===inheritType?$element=$element.parent():(value=elementControllers&&elementControllers[name],value=value&&value.instance),!value){var dataName="$"+name+"Controller";value=inheritType?$element.inheritedData(dataName):$element.data(dataName)}if(!value&&!optional)throw $compileMinErr("ctreq","Controller '{0}', required by directive '{1}', can't be found!",name,directiveName)}else if(isArray(require)){value=[];for(var i=0,ii=require.length;i<ii;i++)value[i]=getControllers(directiveName,require[i],$element,elementControllers)}else isObject(require)&&(value={},forEach(require,function(controller,property){value[property]=getControllers(directiveName,controller,$element,elementControllers)}));return value||null}function setupControllers($element,attrs,transcludeFn,controllerDirectives,isolateScope,scope,newIsolateScopeDirective){var elementControllers=createMap();for(var controllerKey in controllerDirectives){var directive=controllerDirectives[controllerKey],locals={$scope:directive===newIsolateScopeDirective||directive.$$isolateScope?isolateScope:scope,$element:$element,$attrs:attrs,$transclude:transcludeFn},controller=directive.controller;"@"===controller&&(controller=attrs[directive.name]);var controllerInstance=$controller(controller,locals,!0,directive.controllerAs);elementControllers[directive.name]=controllerInstance,$element.data("$"+directive.name+"Controller",controllerInstance.instance)}return elementControllers}function markDirectiveScope(directives,isolateScope,newScope){for(var j=0,jj=directives.length;j<jj;j++)directives[j]=inherit(directives[j],{$$isolateScope:isolateScope,$$newScope:newScope})}function addDirective(tDirectives,name,location,maxPriority,ignoreDirective,startAttrName,endAttrName){if(name===ignoreDirective)return null;var match=null;if(hasDirectives.hasOwnProperty(name))for(var directive,directives=$injector.get(name+Suffix),i=0,ii=directives.length;i<ii;i++)if(directive=directives[i],(isUndefined(maxPriority)||maxPriority>directive.priority)&&directive.restrict.indexOf(location)!==-1){if(startAttrName&&(directive=inherit(directive,{$$start:startAttrName,$$end:endAttrName})),!directive.$$bindings){var bindings=directive.$$bindings=parseDirectiveBindings(directive,directive.name);isObject(bindings.isolateScope)&&(directive.$$isolateBindings=bindings.isolateScope)}tDirectives.push(directive),match=directive}return match}function directiveIsMultiElement(name){if(hasDirectives.hasOwnProperty(name))for(var directive,directives=$injector.get(name+Suffix),i=0,ii=directives.length;i<ii;i++)if(directive=directives[i],directive.multiElement)return!0;return!1}function mergeTemplateAttributes(dst,src){var srcAttr=src.$attr,dstAttr=dst.$attr;forEach(dst,function(value,key){"$"!==key.charAt(0)&&(src[key]&&src[key]!==value&&(value.length?value+=("style"===key?";":" ")+src[key]:value=src[key]),dst.$set(key,value,!0,srcAttr[key]))}),forEach(src,function(value,key){dst.hasOwnProperty(key)||"$"===key.charAt(0)||(dst[key]=value,"class"!==key&&"style"!==key&&(dstAttr[key]=srcAttr[key]))})}function compileTemplateUrl(directives,$compileNode,tAttrs,$rootElement,childTranscludeFn,preLinkFns,postLinkFns,previousCompileContext){var afterTemplateNodeLinkFn,afterTemplateChildLinkFn,linkQueue=[],beforeTemplateCompileNode=$compileNode[0],origAsyncDirective=directives.shift(),derivedSyncDirective=inherit(origAsyncDirective,{templateUrl:null,transclude:null,replace:null,$$originalDirective:origAsyncDirective}),templateUrl=isFunction(origAsyncDirective.templateUrl)?origAsyncDirective.templateUrl($compileNode,tAttrs):origAsyncDirective.templateUrl,templateNamespace=origAsyncDirective.templateNamespace;return $compileNode.empty(),$templateRequest(templateUrl).then(function(content){var compileNode,tempTemplateAttrs,$template,childBoundTranscludeFn;if(content=denormalizeTemplate(content),origAsyncDirective.replace){if($template=jqLiteIsTextNode(content)?[]:removeComments(wrapTemplate(templateNamespace,trim(content))),compileNode=$template[0],1!==$template.length||compileNode.nodeType!==NODE_TYPE_ELEMENT)throw $compileMinErr("tplrt","Template for directive '{0}' must have exactly one root element. {1}",origAsyncDirective.name,templateUrl);tempTemplateAttrs={$attr:{}},replaceWith($rootElement,$compileNode,compileNode);var templateDirectives=collectDirectives(compileNode,[],tempTemplateAttrs);isObject(origAsyncDirective.scope)&&markDirectiveScope(templateDirectives,!0),directives=templateDirectives.concat(directives),mergeTemplateAttributes(tAttrs,tempTemplateAttrs)}else compileNode=beforeTemplateCompileNode,$compileNode.html(content);for(directives.unshift(derivedSyncDirective),afterTemplateNodeLinkFn=applyDirectivesToNode(directives,compileNode,tAttrs,childTranscludeFn,$compileNode,origAsyncDirective,preLinkFns,postLinkFns,previousCompileContext),forEach($rootElement,function(node,i){node===compileNode&&($rootElement[i]=$compileNode[0])}),afterTemplateChildLinkFn=compileNodes($compileNode[0].childNodes,childTranscludeFn);linkQueue.length;){var scope=linkQueue.shift(),beforeTemplateLinkNode=linkQueue.shift(),linkRootElement=linkQueue.shift(),boundTranscludeFn=linkQueue.shift(),linkNode=$compileNode[0];if(!scope.$$destroyed){if(beforeTemplateLinkNode!==beforeTemplateCompileNode){var oldClasses=beforeTemplateLinkNode.className;previousCompileContext.hasElementTranscludeDirective&&origAsyncDirective.replace||(linkNode=jqLiteClone(compileNode)),replaceWith(linkRootElement,jqLite(beforeTemplateLinkNode),linkNode),safeAddClass(jqLite(linkNode),oldClasses)}childBoundTranscludeFn=afterTemplateNodeLinkFn.transcludeOnThisElement?createBoundTranscludeFn(scope,afterTemplateNodeLinkFn.transclude,boundTranscludeFn):boundTranscludeFn,afterTemplateNodeLinkFn(afterTemplateChildLinkFn,scope,linkNode,$rootElement,childBoundTranscludeFn)}}linkQueue=null})["catch"](function(error){error instanceof Error&&$exceptionHandler(error)}),function(ignoreChildLinkFn,scope,node,rootElement,boundTranscludeFn){var childBoundTranscludeFn=boundTranscludeFn;scope.$$destroyed||(linkQueue?linkQueue.push(scope,node,rootElement,childBoundTranscludeFn):(afterTemplateNodeLinkFn.transcludeOnThisElement&&(childBoundTranscludeFn=createBoundTranscludeFn(scope,afterTemplateNodeLinkFn.transclude,boundTranscludeFn)),afterTemplateNodeLinkFn(afterTemplateChildLinkFn,scope,node,rootElement,childBoundTranscludeFn)))}}function byPriority(a,b){var diff=b.priority-a.priority;return 0!==diff?diff:a.name!==b.name?a.name<b.name?-1:1:a.index-b.index}function assertNoDuplicate(what,previousDirective,directive,element){function wrapModuleNameIfDefined(moduleName){return moduleName?" (module: "+moduleName+")":""}if(previousDirective)throw $compileMinErr("multidir","Multiple directives [{0}{1}, {2}{3}] asking for {4} on: {5}",previousDirective.name,wrapModuleNameIfDefined(previousDirective.$$moduleName),directive.name,wrapModuleNameIfDefined(directive.$$moduleName),what,startingTag(element))}function addTextInterpolateDirective(directives,text){var interpolateFn=$interpolate(text,!0);interpolateFn&&directives.push({priority:0,compile:function(templateNode){var templateNodeParent=templateNode.parent(),hasCompileParent=!!templateNodeParent.length;return hasCompileParent&&compile.$$addBindingClass(templateNodeParent),function(scope,node){var parent=node.parent();hasCompileParent||compile.$$addBindingClass(parent),compile.$$addBindingInfo(parent,interpolateFn.expressions),scope.$watch(interpolateFn,function(value){node[0].nodeValue=value})}}})}function wrapTemplate(type,template){switch(type=lowercase(type||"html")){case"svg":case"math":var wrapper=window.document.createElement("div");return wrapper.innerHTML="<"+type+">"+template+"</"+type+">",wrapper.childNodes[0].childNodes;default:return template}}function getTrustedContext(node,attrNormalizedName){if("srcdoc"===attrNormalizedName)return $sce.HTML;var tag=nodeName_(node);if("src"===attrNormalizedName||"ngSrc"===attrNormalizedName){if(["img","video","audio","source","track"].indexOf(tag)===-1)return $sce.RESOURCE_URL}else if("xlinkHref"===attrNormalizedName||"form"===tag&&"action"===attrNormalizedName||"link"===tag&&"href"===attrNormalizedName)return $sce.RESOURCE_URL}function addAttrInterpolateDirective(node,directives,value,name,isNgAttr){var trustedContext=getTrustedContext(node,name),mustHaveExpression=!isNgAttr,allOrNothing=ALL_OR_NOTHING_ATTRS[name]||isNgAttr,interpolateFn=$interpolate(value,mustHaveExpression,trustedContext,allOrNothing);if(interpolateFn){if("multiple"===name&&"select"===nodeName_(node))throw $compileMinErr("selmulti","Binding to the 'multiple' attribute is not supported. Element: {0}",startingTag(node));if(EVENT_HANDLER_ATTR_REGEXP.test(name))throw $compileMinErr("nodomevents","Interpolations for HTML DOM event attributes are disallowed.  Please use the ng- versions (such as ng-click instead of onclick) instead.");directives.push({priority:100,compile:function(){return{pre:function(scope,element,attr){var $$observers=attr.$$observers||(attr.$$observers=createMap()),newValue=attr[name];newValue!==value&&(interpolateFn=newValue&&$interpolate(newValue,!0,trustedContext,allOrNothing),value=newValue),interpolateFn&&(attr[name]=interpolateFn(scope),($$observers[name]||($$observers[name]=[])).$$inter=!0,(attr.$$observers&&attr.$$observers[name].$$scope||scope).$watch(interpolateFn,function(newValue,oldValue){"class"===name&&newValue!==oldValue?attr.$updateClass(newValue,oldValue):attr.$set(name,newValue)}))}}}})}}function replaceWith($rootElement,elementsToRemove,newNode){var i,ii,firstElementToRemove=elementsToRemove[0],removeCount=elementsToRemove.length,parent=firstElementToRemove.parentNode;if($rootElement)for(i=0,ii=$rootElement.length;i<ii;i++)if($rootElement[i]===firstElementToRemove){$rootElement[i++]=newNode;for(var j=i,j2=j+removeCount-1,jj=$rootElement.length;j<jj;j++,j2++)j2<jj?$rootElement[j]=$rootElement[j2]:delete $rootElement[j];$rootElement.length-=removeCount-1,$rootElement.context===firstElementToRemove&&($rootElement.context=newNode);break}parent&&parent.replaceChild(newNode,firstElementToRemove);var fragment=window.document.createDocumentFragment();for(i=0;i<removeCount;i++)fragment.appendChild(elementsToRemove[i]);for(jqLite.hasData(firstElementToRemove)&&(jqLite.data(newNode,jqLite.data(firstElementToRemove)),jqLite(firstElementToRemove).off("$destroy")),jqLite.cleanData(fragment.querySelectorAll("*")),i=1;i<removeCount;i++)delete elementsToRemove[i];elementsToRemove[0]=newNode,elementsToRemove.length=1}function cloneAndAnnotateFn(fn,annotation){return extend(function(){return fn.apply(null,arguments)},fn,annotation)}function invokeLinkFn(linkFn,scope,$element,attrs,controllers,transcludeFn){try{linkFn(scope,$element,attrs,controllers,transcludeFn)}catch(e){$exceptionHandler(e,startingTag($element))}}function initializeDirectiveBindings(scope,attrs,destination,bindings,directive){function recordChanges(key,currentValue,previousValue){!isFunction(destination.$onChanges)||currentValue===previousValue||currentValue!==currentValue&&previousValue!==previousValue||(onChangesQueue||(scope.$$postDigest(flushOnChangesQueue),onChangesQueue=[]),changes||(changes={},onChangesQueue.push(triggerOnChangesHook)),changes[key]&&(previousValue=changes[key].previousValue),changes[key]=new SimpleChange(previousValue,currentValue))}function triggerOnChangesHook(){destination.$onChanges(changes),changes=void 0}var changes,removeWatchCollection=[],initialChanges={};return forEach(bindings,function(definition,scopeName){var lastValue,parentGet,parentSet,compare,removeWatch,attrName=definition.attrName,optional=definition.optional,mode=definition.mode;switch(mode){case"@":optional||hasOwnProperty.call(attrs,attrName)||(destination[scopeName]=attrs[attrName]=void 0),removeWatch=attrs.$observe(attrName,function(value){if(isString(value)||isBoolean(value)){var oldValue=destination[scopeName];recordChanges(scopeName,value,oldValue),destination[scopeName]=value}}),attrs.$$observers[attrName].$$scope=scope,lastValue=attrs[attrName],isString(lastValue)?destination[scopeName]=$interpolate(lastValue)(scope):isBoolean(lastValue)&&(destination[scopeName]=lastValue),initialChanges[scopeName]=new SimpleChange(_UNINITIALIZED_VALUE,destination[scopeName]),removeWatchCollection.push(removeWatch);break;case"=":if(!hasOwnProperty.call(attrs,attrName)){if(optional)break;attrs[attrName]=void 0}if(optional&&!attrs[attrName])break;parentGet=$parse(attrs[attrName]),compare=parentGet.literal?equals:function(a,b){return a===b||a!==a&&b!==b},parentSet=parentGet.assign||function(){throw lastValue=destination[scopeName]=parentGet(scope),$compileMinErr("nonassign","Expression '{0}' in attribute '{1}' used with directive '{2}' is non-assignable!",attrs[attrName],attrName,directive.name)},lastValue=destination[scopeName]=parentGet(scope);var parentValueWatch=function(parentValue){return compare(parentValue,destination[scopeName])||(compare(parentValue,lastValue)?parentSet(scope,parentValue=destination[scopeName]):destination[scopeName]=parentValue),lastValue=parentValue};parentValueWatch.$stateful=!0,removeWatch=definition.collection?scope.$watchCollection(attrs[attrName],parentValueWatch):scope.$watch($parse(attrs[attrName],parentValueWatch),null,parentGet.literal),removeWatchCollection.push(removeWatch);break;case"<":if(!hasOwnProperty.call(attrs,attrName)){if(optional)break;attrs[attrName]=void 0}if(optional&&!attrs[attrName])break;parentGet=$parse(attrs[attrName]);var deepWatch=parentGet.literal,initialValue=destination[scopeName]=parentGet(scope);initialChanges[scopeName]=new SimpleChange(_UNINITIALIZED_VALUE,destination[scopeName]),removeWatch=scope.$watch(parentGet,function(newValue,oldValue){if(oldValue===newValue){if(oldValue===initialValue||deepWatch&&equals(oldValue,initialValue))return;oldValue=initialValue}recordChanges(scopeName,newValue,oldValue),destination[scopeName]=newValue},deepWatch),removeWatchCollection.push(removeWatch);break;case"&":if(parentGet=attrs.hasOwnProperty(attrName)?$parse(attrs[attrName]):noop,parentGet===noop&&optional)break;destination[scopeName]=function(locals){return parentGet(scope,locals)}}}),{initialChanges:initialChanges,removeWatches:removeWatchCollection.length&&function(){for(var i=0,ii=removeWatchCollection.length;i<ii;++i)removeWatchCollection[i]()}}}var onChangesQueue,SIMPLE_ATTR_NAME=/^\w/,specialAttrHolder=window.document.createElement("div"),commentDirectivesEnabled=commentDirectivesEnabledConfig,cssClassDirectivesEnabled=cssClassDirectivesEnabledConfig,onChangesTtl=TTL;Attributes.prototype={$normalize:directiveNormalize,$addClass:function(classVal){classVal&&classVal.length>0&&$animate.addClass(this.$$element,classVal)},$removeClass:function(classVal){classVal&&classVal.length>0&&$animate.removeClass(this.$$element,classVal)},$updateClass:function(newClasses,oldClasses){var toAdd=tokenDifference(newClasses,oldClasses);toAdd&&toAdd.length&&$animate.addClass(this.$$element,toAdd);var toRemove=tokenDifference(oldClasses,newClasses);toRemove&&toRemove.length&&$animate.removeClass(this.$$element,toRemove)},$set:function(key,value,writeAttr,attrName){var nodeName,node=this.$$element[0],booleanKey=getBooleanAttrName(node,key),aliasedKey=getAliasedAttrName(key),observer=key;if(booleanKey?(this.$$element.prop(key,value),attrName=booleanKey):aliasedKey&&(this[aliasedKey]=value,observer=aliasedKey),this[key]=value,attrName?this.$attr[key]=attrName:(attrName=this.$attr[key],attrName||(this.$attr[key]=attrName=snake_case(key,"-"))),nodeName=nodeName_(this.$$element),"a"===nodeName&&("href"===key||"xlinkHref"===key)||"img"===nodeName&&"src"===key)this[key]=value=$$sanitizeUri(value,"src"===key);else if("img"===nodeName&&"srcset"===key&&isDefined(value)){for(var result="",trimmedSrcset=trim(value),srcPattern=/(\s+\d+x\s*,|\s+\d+w\s*,|\s+,|,\s+)/,pattern=/\s/.test(trimmedSrcset)?srcPattern:/(,)/,rawUris=trimmedSrcset.split(pattern),nbrUrisWith2parts=Math.floor(rawUris.length/2),i=0;i<nbrUrisWith2parts;i++){var innerIdx=2*i;result+=$$sanitizeUri(trim(rawUris[innerIdx]),!0),result+=" "+trim(rawUris[innerIdx+1])}var lastTuple=trim(rawUris[2*i]).split(/\s/);result+=$$sanitizeUri(trim(lastTuple[0]),!0),2===lastTuple.length&&(result+=" "+trim(lastTuple[1])),this[key]=value=result}writeAttr!==!1&&(null===value||isUndefined(value)?this.$$element.removeAttr(attrName):SIMPLE_ATTR_NAME.test(attrName)?this.$$element.attr(attrName,value):setSpecialAttr(this.$$element[0],attrName,value));var $$observers=this.$$observers;$$observers&&forEach($$observers[observer],function(fn){try{fn(value)}catch(e){$exceptionHandler(e)}})},$observe:function(key,fn){var attrs=this,$$observers=attrs.$$observers||(attrs.$$observers=createMap()),listeners=$$observers[key]||($$observers[key]=[]);return listeners.push(fn),$rootScope.$evalAsync(function(){listeners.$$inter||!attrs.hasOwnProperty(key)||isUndefined(attrs[key])||fn(attrs[key])}),function(){arrayRemove(listeners,fn)}}};var startSymbol=$interpolate.startSymbol(),endSymbol=$interpolate.endSymbol(),denormalizeTemplate="{{"===startSymbol&&"}}"===endSymbol?identity:function(template){return template.replace(/\{\{/g,startSymbol).replace(/}}/g,endSymbol)},NG_ATTR_BINDING=/^ngAttr[A-Z]/,MULTI_ELEMENT_DIR_RE=/^(.+)Start$/;return compile.$$addBindingInfo=debugInfoEnabled?function($element,binding){var bindings=$element.data("$binding")||[];isArray(binding)?bindings=bindings.concat(binding):bindings.push(binding),$element.data("$binding",bindings)}:noop,compile.$$addBindingClass=debugInfoEnabled?function($element){safeAddClass($element,"ng-binding")}:noop,compile.$$addScopeInfo=debugInfoEnabled?function($element,scope,isolated,noTemplate){var dataName=isolated?noTemplate?"$isolateScopeNoTemplate":"$isolateScope":"$scope";$element.data(dataName,scope)}:noop,compile.$$addScopeClass=debugInfoEnabled?function($element,isolated){safeAddClass($element,isolated?"ng-isolate-scope":"ng-scope")}:noop,compile.$$createComment=function(directiveName,comment){var content="";return debugInfoEnabled&&(content=" "+(directiveName||"")+": ",comment&&(content+=comment+" ")),window.document.createComment(content)},compile}]}function SimpleChange(previous,current){this.previousValue=previous,this.currentValue=current}function directiveNormalize(name){return name.replace(PREFIX_REGEXP,"").replace(SPECIAL_CHARS_REGEXP,fnCamelCaseReplace)}function tokenDifference(str1,str2){var values="",tokens1=str1.split(/\s+/),tokens2=str2.split(/\s+/);outer:for(var i=0;i<tokens1.length;i++){for(var token=tokens1[i],j=0;j<tokens2.length;j++)if(token===tokens2[j])continue outer;values+=(values.length>0?" ":"")+token}return values}function removeComments(jqNodes){jqNodes=jqLite(jqNodes);var i=jqNodes.length;if(i<=1)return jqNodes;for(;i--;){var node=jqNodes[i];(node.nodeType===NODE_TYPE_COMMENT||node.nodeType===NODE_TYPE_TEXT&&""===node.nodeValue.trim())&&splice.call(jqNodes,i,1)}return jqNodes}function identifierForController(controller,ident){if(ident&&isString(ident))return ident;if(isString(controller)){var match=CNTRL_REG.exec(controller);if(match)return match[3]}}function $ControllerProvider(){var controllers={},globals=!1;this.has=function(name){return controllers.hasOwnProperty(name)},this.register=function(name,constructor){assertNotHasOwnProperty(name,"controller"),isObject(name)?extend(controllers,name):controllers[name]=constructor},this.allowGlobals=function(){globals=!0},this.$get=["$injector","$window",function($injector,$window){function addIdentifier(locals,identifier,instance,name){if(!locals||!isObject(locals.$scope))throw minErr("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",name,identifier);locals.$scope[identifier]=instance}return function(expression,locals,later,ident){var instance,match,constructor,identifier;if(later=later===!0,ident&&isString(ident)&&(identifier=ident),isString(expression)){if(match=expression.match(CNTRL_REG),!match)throw $controllerMinErr("ctrlfmt","Badly formed controller string '{0}'. Must match `__name__ as __id__` or `__name__`.",expression);
+if(constructor=match[1],identifier=identifier||match[3],expression=controllers.hasOwnProperty(constructor)?controllers[constructor]:getter(locals.$scope,constructor,!0)||(globals?getter($window,constructor,!0):void 0),!expression)throw $controllerMinErr("ctrlreg","The controller with the name '{0}' is not registered.",constructor);assertArgFn(expression,constructor,!0)}if(later){var controllerPrototype=(isArray(expression)?expression[expression.length-1]:expression).prototype;return instance=Object.create(controllerPrototype||null),identifier&&addIdentifier(locals,identifier,instance,constructor||expression.name),extend(function(){var result=$injector.invoke(expression,instance,locals,constructor);return result!==instance&&(isObject(result)||isFunction(result))&&(instance=result,identifier&&addIdentifier(locals,identifier,instance,constructor||expression.name)),instance},{instance:instance,identifier:identifier})}return instance=$injector.instantiate(expression,locals,constructor),identifier&&addIdentifier(locals,identifier,instance,constructor||expression.name),instance}}]}function $DocumentProvider(){this.$get=["$window",function(window){return jqLite(window.document)}]}function $$IsDocumentHiddenProvider(){this.$get=["$document","$rootScope",function($document,$rootScope){function changeListener(){hidden=doc.hidden}var doc=$document[0],hidden=doc&&doc.hidden;return $document.on("visibilitychange",changeListener),$rootScope.$on("$destroy",function(){$document.off("visibilitychange",changeListener)}),function(){return hidden}}]}function $ExceptionHandlerProvider(){this.$get=["$log",function($log){return function(exception,cause){$log.error.apply($log,arguments)}}]}function serializeValue(v){return isObject(v)?isDate(v)?v.toISOString():toJson(v):v}function $HttpParamSerializerProvider(){this.$get=function(){return function(params){if(!params)return"";var parts=[];return forEachSorted(params,function(value,key){null===value||isUndefined(value)||(isArray(value)?forEach(value,function(v){parts.push(encodeUriQuery(key)+"="+encodeUriQuery(serializeValue(v)))}):parts.push(encodeUriQuery(key)+"="+encodeUriQuery(serializeValue(value))))}),parts.join("&")}}}function $HttpParamSerializerJQLikeProvider(){this.$get=function(){return function(params){function serialize(toSerialize,prefix,topLevel){null===toSerialize||isUndefined(toSerialize)||(isArray(toSerialize)?forEach(toSerialize,function(value,index){serialize(value,prefix+"["+(isObject(value)?index:"")+"]")}):isObject(toSerialize)&&!isDate(toSerialize)?forEachSorted(toSerialize,function(value,key){serialize(value,prefix+(topLevel?"":"[")+key+(topLevel?"":"]"))}):parts.push(encodeUriQuery(prefix)+"="+encodeUriQuery(serializeValue(toSerialize))))}if(!params)return"";var parts=[];return serialize(params,"",!0),parts.join("&")}}}function defaultHttpResponseTransform(data,headers){if(isString(data)){var tempData=data.replace(JSON_PROTECTION_PREFIX,"").trim();if(tempData){var contentType=headers("Content-Type");(contentType&&0===contentType.indexOf(APPLICATION_JSON)||isJsonLike(tempData))&&(data=fromJson(tempData))}}return data}function isJsonLike(str){var jsonStart=str.match(JSON_START);return jsonStart&&JSON_ENDS[jsonStart[0]].test(str)}function parseHeaders(headers){function fillInParsed(key,val){key&&(parsed[key]=parsed[key]?parsed[key]+", "+val:val)}var i,parsed=createMap();return isString(headers)?forEach(headers.split("\n"),function(line){i=line.indexOf(":"),fillInParsed(lowercase(trim(line.substr(0,i))),trim(line.substr(i+1)))}):isObject(headers)&&forEach(headers,function(headerVal,headerKey){fillInParsed(lowercase(headerKey),trim(headerVal))}),parsed}function headersGetter(headers){var headersObj;return function(name){if(headersObj||(headersObj=parseHeaders(headers)),name){var value=headersObj[lowercase(name)];return void 0===value&&(value=null),value}return headersObj}}function transformData(data,headers,status,fns){return isFunction(fns)?fns(data,headers,status):(forEach(fns,function(fn){data=fn(data,headers,status)}),data)}function isSuccess(status){return 200<=status&&status<300}function $HttpProvider(){var defaults=this.defaults={transformResponse:[defaultHttpResponseTransform],transformRequest:[function(d){return!isObject(d)||isFile(d)||isBlob(d)||isFormData(d)?d:toJson(d)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:shallowCopy(CONTENT_TYPE_APPLICATION_JSON),put:shallowCopy(CONTENT_TYPE_APPLICATION_JSON),patch:shallowCopy(CONTENT_TYPE_APPLICATION_JSON)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",paramSerializer:"$httpParamSerializer",jsonpCallbackParam:"callback"},useApplyAsync=!1;this.useApplyAsync=function(value){return isDefined(value)?(useApplyAsync=!!value,this):useApplyAsync};var interceptorFactories=this.interceptors=[];this.$get=["$browser","$httpBackend","$$cookieReader","$cacheFactory","$rootScope","$q","$injector","$sce",function($browser,$httpBackend,$$cookieReader,$cacheFactory,$rootScope,$q,$injector,$sce){function $http(requestConfig){function chainInterceptors(promise,interceptors){for(var i=0,ii=interceptors.length;i<ii;){var thenFn=interceptors[i++],rejectFn=interceptors[i++];promise=promise.then(thenFn,rejectFn)}return interceptors.length=0,promise}function completeOutstandingRequest(){$browser.$$completeOutstandingRequest(noop)}function executeHeaderFns(headers,config){var headerContent,processedHeaders={};return forEach(headers,function(headerFn,header){isFunction(headerFn)?(headerContent=headerFn(config),null!=headerContent&&(processedHeaders[header]=headerContent)):processedHeaders[header]=headerFn}),processedHeaders}function mergeHeaders(config){var defHeaderName,lowercaseDefHeaderName,reqHeaderName,defHeaders=defaults.headers,reqHeaders=extend({},config.headers);defHeaders=extend({},defHeaders.common,defHeaders[lowercase(config.method)]);defaultHeadersIteration:for(defHeaderName in defHeaders){lowercaseDefHeaderName=lowercase(defHeaderName);for(reqHeaderName in reqHeaders)if(lowercase(reqHeaderName)===lowercaseDefHeaderName)continue defaultHeadersIteration;reqHeaders[defHeaderName]=defHeaders[defHeaderName]}return executeHeaderFns(reqHeaders,shallowCopy(config))}function serverRequest(config){var headers=config.headers,reqData=transformData(config.data,headersGetter(headers),void 0,config.transformRequest);return isUndefined(reqData)&&forEach(headers,function(value,header){"content-type"===lowercase(header)&&delete headers[header]}),isUndefined(config.withCredentials)&&!isUndefined(defaults.withCredentials)&&(config.withCredentials=defaults.withCredentials),sendReq(config,reqData).then(transformResponse,transformResponse)}function transformResponse(response){var resp=extend({},response);return resp.data=transformData(response.data,response.headers,response.status,config.transformResponse),isSuccess(response.status)?resp:$q.reject(resp)}if(!isObject(requestConfig))throw minErr("$http")("badreq","Http request configuration must be an object.  Received: {0}",requestConfig);if(!isString($sce.valueOf(requestConfig.url)))throw minErr("$http")("badreq","Http request configuration url must be a string or a $sce trusted object.  Received: {0}",requestConfig.url);var config=extend({method:"get",transformRequest:defaults.transformRequest,transformResponse:defaults.transformResponse,paramSerializer:defaults.paramSerializer,jsonpCallbackParam:defaults.jsonpCallbackParam},requestConfig);config.headers=mergeHeaders(requestConfig),config.method=uppercase(config.method),config.paramSerializer=isString(config.paramSerializer)?$injector.get(config.paramSerializer):config.paramSerializer,$browser.$$incOutstandingRequestCount();var requestInterceptors=[],responseInterceptors=[],promise=$q.resolve(config);return forEach(reversedInterceptors,function(interceptor){(interceptor.request||interceptor.requestError)&&requestInterceptors.unshift(interceptor.request,interceptor.requestError),(interceptor.response||interceptor.responseError)&&responseInterceptors.push(interceptor.response,interceptor.responseError)}),promise=chainInterceptors(promise,requestInterceptors),promise=promise.then(serverRequest),promise=chainInterceptors(promise,responseInterceptors),promise=promise["finally"](completeOutstandingRequest)}function createShortMethods(names){forEach(arguments,function(name){$http[name]=function(url,config){return $http(extend({},config||{},{method:name,url:url}))}})}function createShortMethodsWithData(name){forEach(arguments,function(name){$http[name]=function(url,data,config){return $http(extend({},config||{},{method:name,url:url,data:data}))}})}function sendReq(config,reqData){function createApplyHandlers(eventHandlers){if(eventHandlers){var applyHandlers={};return forEach(eventHandlers,function(eventHandler,key){applyHandlers[key]=function(event){function callEventHandler(){eventHandler(event)}useApplyAsync?$rootScope.$applyAsync(callEventHandler):$rootScope.$$phase?callEventHandler():$rootScope.$apply(callEventHandler)}}),applyHandlers}}function done(status,response,headersString,statusText){function resolveHttpPromise(){resolvePromise(response,status,headersString,statusText)}cache&&(isSuccess(status)?cache.put(url,[status,response,parseHeaders(headersString),statusText]):cache.remove(url)),useApplyAsync?$rootScope.$applyAsync(resolveHttpPromise):(resolveHttpPromise(),$rootScope.$$phase||$rootScope.$apply())}function resolvePromise(response,status,headers,statusText){status=status>=-1?status:0,(isSuccess(status)?deferred.resolve:deferred.reject)({data:response,status:status,headers:headersGetter(headers),config:config,statusText:statusText})}function resolvePromiseWithResult(result){resolvePromise(result.data,result.status,shallowCopy(result.headers()),result.statusText)}function removePendingReq(){var idx=$http.pendingRequests.indexOf(config);idx!==-1&&$http.pendingRequests.splice(idx,1)}var cache,cachedResp,deferred=$q.defer(),promise=deferred.promise,reqHeaders=config.headers,isJsonp="jsonp"===lowercase(config.method),url=config.url;if(isJsonp?url=$sce.getTrustedResourceUrl(url):isString(url)||(url=$sce.valueOf(url)),url=buildUrl(url,config.paramSerializer(config.params)),isJsonp&&(url=sanitizeJsonpCallbackParam(url,config.jsonpCallbackParam)),$http.pendingRequests.push(config),promise.then(removePendingReq,removePendingReq),!config.cache&&!defaults.cache||config.cache===!1||"GET"!==config.method&&"JSONP"!==config.method||(cache=isObject(config.cache)?config.cache:isObject(defaults.cache)?defaults.cache:defaultCache),cache&&(cachedResp=cache.get(url),isDefined(cachedResp)?isPromiseLike(cachedResp)?cachedResp.then(resolvePromiseWithResult,resolvePromiseWithResult):isArray(cachedResp)?resolvePromise(cachedResp[1],cachedResp[0],shallowCopy(cachedResp[2]),cachedResp[3]):resolvePromise(cachedResp,200,{},"OK"):cache.put(url,promise)),isUndefined(cachedResp)){var xsrfValue=urlIsSameOrigin(config.url)?$$cookieReader()[config.xsrfCookieName||defaults.xsrfCookieName]:void 0;xsrfValue&&(reqHeaders[config.xsrfHeaderName||defaults.xsrfHeaderName]=xsrfValue),$httpBackend(config.method,url,reqData,done,reqHeaders,config.timeout,config.withCredentials,config.responseType,createApplyHandlers(config.eventHandlers),createApplyHandlers(config.uploadEventHandlers))}return promise}function buildUrl(url,serializedParams){return serializedParams.length>0&&(url+=(url.indexOf("?")===-1?"?":"&")+serializedParams),url}function sanitizeJsonpCallbackParam(url,key){if(/[&?][^=]+=JSON_CALLBACK/.test(url))throw $httpMinErr("badjsonp",'Illegal use of JSON_CALLBACK in url, "{0}"',url);var callbackParamRegex=new RegExp("[&?]"+key+"=");if(callbackParamRegex.test(url))throw $httpMinErr("badjsonp",'Illegal use of callback param, "{0}", in url, "{1}"',key,url);return url+=(url.indexOf("?")===-1?"?":"&")+key+"=JSON_CALLBACK"}var defaultCache=$cacheFactory("$http");defaults.paramSerializer=isString(defaults.paramSerializer)?$injector.get(defaults.paramSerializer):defaults.paramSerializer;var reversedInterceptors=[];return forEach(interceptorFactories,function(interceptorFactory){reversedInterceptors.unshift(isString(interceptorFactory)?$injector.get(interceptorFactory):$injector.invoke(interceptorFactory))}),$http.pendingRequests=[],createShortMethods("get","delete","head","jsonp"),createShortMethodsWithData("post","put","patch"),$http.defaults=defaults,$http}]}function $xhrFactoryProvider(){this.$get=function(){return function(){return new window.XMLHttpRequest}}}function $HttpBackendProvider(){this.$get=["$browser","$jsonpCallbacks","$document","$xhrFactory",function($browser,$jsonpCallbacks,$document,$xhrFactory){return createHttpBackend($browser,$xhrFactory,$browser.defer,$jsonpCallbacks,$document[0])}]}function createHttpBackend($browser,createXhr,$browserDefer,callbacks,rawDocument){function jsonpReq(url,callbackPath,done){url=url.replace("JSON_CALLBACK",callbackPath);var script=rawDocument.createElement("script"),callback=null;return script.type="text/javascript",script.src=url,script.async=!0,callback=function(event){script.removeEventListener("load",callback),script.removeEventListener("error",callback),rawDocument.body.removeChild(script),script=null;var status=-1,text="unknown";event&&("load"!==event.type||callbacks.wasCalled(callbackPath)||(event={type:"error"}),text=event.type,status="error"===event.type?404:200),done&&done(status,text)},script.addEventListener("load",callback),script.addEventListener("error",callback),rawDocument.body.appendChild(script),callback}return function(method,url,post,callback,headers,timeout,withCredentials,responseType,eventHandlers,uploadEventHandlers){function timeoutRequest(){jsonpDone&&jsonpDone(),xhr&&xhr.abort()}function completeRequest(callback,status,response,headersString,statusText){isDefined(timeoutId)&&$browserDefer.cancel(timeoutId),jsonpDone=xhr=null,callback(status,response,headersString,statusText)}if(url=url||$browser.url(),"jsonp"===lowercase(method))var callbackPath=callbacks.createCallback(url),jsonpDone=jsonpReq(url,callbackPath,function(status,text){var response=200===status&&callbacks.getResponse(callbackPath);completeRequest(callback,status,response,"",text),callbacks.removeCallback(callbackPath)});else{var xhr=createXhr(method,url);xhr.open(method,url,!0),forEach(headers,function(value,key){isDefined(value)&&xhr.setRequestHeader(key,value)}),xhr.onload=function(){var statusText=xhr.statusText||"",response="response"in xhr?xhr.response:xhr.responseText,status=1223===xhr.status?204:xhr.status;0===status&&(status=response?200:"file"===urlResolve(url).protocol?404:0),completeRequest(callback,status,response,xhr.getAllResponseHeaders(),statusText)};var requestError=function(){completeRequest(callback,-1,null,null,"")};if(xhr.onerror=requestError,xhr.onabort=requestError,xhr.ontimeout=requestError,forEach(eventHandlers,function(value,key){xhr.addEventListener(key,value)}),forEach(uploadEventHandlers,function(value,key){xhr.upload.addEventListener(key,value)}),withCredentials&&(xhr.withCredentials=!0),responseType)try{xhr.responseType=responseType}catch(e){if("json"!==responseType)throw e}xhr.send(isUndefined(post)?null:post)}if(timeout>0)var timeoutId=$browserDefer(timeoutRequest,timeout);else isPromiseLike(timeout)&&timeout.then(timeoutRequest)}}function $InterpolateProvider(){var startSymbol="{{",endSymbol="}}";this.startSymbol=function(value){return value?(startSymbol=value,this):startSymbol},this.endSymbol=function(value){return value?(endSymbol=value,this):endSymbol},this.$get=["$parse","$exceptionHandler","$sce",function($parse,$exceptionHandler,$sce){function escape(ch){return"\\\\\\"+ch}function unescapeText(text){return text.replace(escapedStartRegexp,startSymbol).replace(escapedEndRegexp,endSymbol)}function constantWatchDelegate(scope,listener,objectEquality,constantInterp){var unwatch=scope.$watch(function(scope){return unwatch(),constantInterp(scope)},listener,objectEquality);return unwatch}function $interpolate(text,mustHaveExpression,trustedContext,allOrNothing){function parseStringifyInterceptor(value){try{return value=getValue(value),allOrNothing&&!isDefined(value)?value:stringify(value)}catch(err){$exceptionHandler($interpolateMinErr.interr(text,err))}}if(!text.length||text.indexOf(startSymbol)===-1){var constantInterp;if(!mustHaveExpression){var unescapedText=unescapeText(text);constantInterp=valueFn(unescapedText),constantInterp.exp=text,constantInterp.expressions=[],constantInterp.$$watchDelegate=constantWatchDelegate}return constantInterp}allOrNothing=!!allOrNothing;for(var startIndex,endIndex,exp,index=0,expressions=[],parseFns=[],textLength=text.length,concat=[],expressionPositions=[];index<textLength;){if((startIndex=text.indexOf(startSymbol,index))===-1||(endIndex=text.indexOf(endSymbol,startIndex+startSymbolLength))===-1){index!==textLength&&concat.push(unescapeText(text.substring(index)));break}index!==startIndex&&concat.push(unescapeText(text.substring(index,startIndex))),exp=text.substring(startIndex+startSymbolLength,endIndex),expressions.push(exp),parseFns.push($parse(exp,parseStringifyInterceptor)),index=endIndex+endSymbolLength,expressionPositions.push(concat.length),concat.push("")}if(trustedContext&&concat.length>1&&$interpolateMinErr.throwNoconcat(text),!mustHaveExpression||expressions.length){var compute=function(values){for(var i=0,ii=expressions.length;i<ii;i++){if(allOrNothing&&isUndefined(values[i]))return;concat[expressionPositions[i]]=values[i]}return concat.join("")},getValue=function(value){return trustedContext?$sce.getTrusted(trustedContext,value):$sce.valueOf(value)};return extend(function(context){var i=0,ii=expressions.length,values=new Array(ii);try{for(;i<ii;i++)values[i]=parseFns[i](context);return compute(values)}catch(err){$exceptionHandler($interpolateMinErr.interr(text,err))}},{exp:text,expressions:expressions,$$watchDelegate:function(scope,listener){var lastValue;return scope.$watchGroup(parseFns,function(values,oldValues){var currValue=compute(values);isFunction(listener)&&listener.call(this,currValue,values!==oldValues?lastValue:currValue,scope),lastValue=currValue})}})}}var startSymbolLength=startSymbol.length,endSymbolLength=endSymbol.length,escapedStartRegexp=new RegExp(startSymbol.replace(/./g,escape),"g"),escapedEndRegexp=new RegExp(endSymbol.replace(/./g,escape),"g");return $interpolate.startSymbol=function(){return startSymbol},$interpolate.endSymbol=function(){return endSymbol},$interpolate}]}function $IntervalProvider(){this.$get=["$rootScope","$window","$q","$$q","$browser",function($rootScope,$window,$q,$$q,$browser){function interval(fn,delay,count,invokeApply){function callback(){hasParams?fn.apply(null,args):fn(iteration)}var hasParams=arguments.length>4,args=hasParams?sliceArgs(arguments,4):[],setInterval=$window.setInterval,clearInterval=$window.clearInterval,iteration=0,skipApply=isDefined(invokeApply)&&!invokeApply,deferred=(skipApply?$$q:$q).defer(),promise=deferred.promise;return count=isDefined(count)?count:0,promise.$$intervalId=setInterval(function(){skipApply?$browser.defer(callback):$rootScope.$evalAsync(callback),deferred.notify(iteration++),count>0&&iteration>=count&&(deferred.resolve(iteration),clearInterval(promise.$$intervalId),delete intervals[promise.$$intervalId]),skipApply||$rootScope.$apply()},delay),intervals[promise.$$intervalId]=deferred,promise}var intervals={};return interval.cancel=function(promise){return!!(promise&&promise.$$intervalId in intervals)&&(intervals[promise.$$intervalId].promise["catch"](noop),intervals[promise.$$intervalId].reject("canceled"),$window.clearInterval(promise.$$intervalId),delete intervals[promise.$$intervalId],!0)},interval}]}function encodePath(path){for(var segments=path.split("/"),i=segments.length;i--;)segments[i]=encodeUriSegment(segments[i]);return segments.join("/")}function parseAbsoluteUrl(absoluteUrl,locationObj){var parsedUrl=urlResolve(absoluteUrl);locationObj.$$protocol=parsedUrl.protocol,locationObj.$$host=parsedUrl.hostname,locationObj.$$port=toInt(parsedUrl.port)||DEFAULT_PORTS[parsedUrl.protocol]||null}function parseAppUrl(url,locationObj){if(DOUBLE_SLASH_REGEX.test(url))throw $locationMinErr("badpath",'Invalid url "{0}".',url);var prefixed="/"!==url.charAt(0);prefixed&&(url="/"+url);var match=urlResolve(url);locationObj.$$path=decodeURIComponent(prefixed&&"/"===match.pathname.charAt(0)?match.pathname.substring(1):match.pathname),locationObj.$$search=parseKeyValue(match.search),locationObj.$$hash=decodeURIComponent(match.hash),locationObj.$$path&&"/"!==locationObj.$$path.charAt(0)&&(locationObj.$$path="/"+locationObj.$$path)}function startsWith(str,search){return str.slice(0,search.length)===search}function stripBaseUrl(base,url){if(startsWith(url,base))return url.substr(base.length)}function stripHash(url){var index=url.indexOf("#");return index===-1?url:url.substr(0,index)}function trimEmptyHash(url){return url.replace(/(#.+)|#$/,"$1")}function stripFile(url){return url.substr(0,stripHash(url).lastIndexOf("/")+1)}function serverBase(url){return url.substring(0,url.indexOf("/",url.indexOf("//")+2))}function LocationHtml5Url(appBase,appBaseNoFile,basePrefix){this.$$html5=!0,basePrefix=basePrefix||"",parseAbsoluteUrl(appBase,this),this.$$parse=function(url){var pathUrl=stripBaseUrl(appBaseNoFile,url);if(!isString(pathUrl))throw $locationMinErr("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',url,appBaseNoFile);parseAppUrl(pathUrl,this),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var search=toKeyValue(this.$$search),hash=this.$$hash?"#"+encodeUriSegment(this.$$hash):"";this.$$url=encodePath(this.$$path)+(search?"?"+search:"")+hash,this.$$absUrl=appBaseNoFile+this.$$url.substr(1),this.$$urlUpdatedByLocation=!0},this.$$parseLinkUrl=function(url,relHref){if(relHref&&"#"===relHref[0])return this.hash(relHref.slice(1)),!0;var appUrl,prevAppUrl,rewrittenUrl;return isDefined(appUrl=stripBaseUrl(appBase,url))?(prevAppUrl=appUrl,rewrittenUrl=basePrefix&&isDefined(appUrl=stripBaseUrl(basePrefix,appUrl))?appBaseNoFile+(stripBaseUrl("/",appUrl)||appUrl):appBase+prevAppUrl):isDefined(appUrl=stripBaseUrl(appBaseNoFile,url))?rewrittenUrl=appBaseNoFile+appUrl:appBaseNoFile===url+"/"&&(rewrittenUrl=appBaseNoFile),rewrittenUrl&&this.$$parse(rewrittenUrl),!!rewrittenUrl}}function LocationHashbangUrl(appBase,appBaseNoFile,hashPrefix){parseAbsoluteUrl(appBase,this),this.$$parse=function(url){function removeWindowsDriveName(path,url,base){var firstPathSegmentMatch,windowsFilePathExp=/^\/[A-Z]:(\/.*)/;return startsWith(url,base)&&(url=url.replace(base,"")),windowsFilePathExp.exec(url)?path:(firstPathSegmentMatch=windowsFilePathExp.exec(path),firstPathSegmentMatch?firstPathSegmentMatch[1]:path)}var withoutHashUrl,withoutBaseUrl=stripBaseUrl(appBase,url)||stripBaseUrl(appBaseNoFile,url);isUndefined(withoutBaseUrl)||"#"!==withoutBaseUrl.charAt(0)?this.$$html5?withoutHashUrl=withoutBaseUrl:(withoutHashUrl="",isUndefined(withoutBaseUrl)&&(appBase=url,this.replace())):(withoutHashUrl=stripBaseUrl(hashPrefix,withoutBaseUrl),isUndefined(withoutHashUrl)&&(withoutHashUrl=withoutBaseUrl)),parseAppUrl(withoutHashUrl,this),this.$$path=removeWindowsDriveName(this.$$path,withoutHashUrl,appBase),this.$$compose()},this.$$compose=function(){var search=toKeyValue(this.$$search),hash=this.$$hash?"#"+encodeUriSegment(this.$$hash):"";this.$$url=encodePath(this.$$path)+(search?"?"+search:"")+hash,this.$$absUrl=appBase+(this.$$url?hashPrefix+this.$$url:""),this.$$urlUpdatedByLocation=!0},this.$$parseLinkUrl=function(url,relHref){return stripHash(appBase)===stripHash(url)&&(this.$$parse(url),!0)}}function LocationHashbangInHtml5Url(appBase,appBaseNoFile,hashPrefix){this.$$html5=!0,LocationHashbangUrl.apply(this,arguments),this.$$parseLinkUrl=function(url,relHref){if(relHref&&"#"===relHref[0])return this.hash(relHref.slice(1)),!0;var rewrittenUrl,appUrl;return appBase===stripHash(url)?rewrittenUrl=url:(appUrl=stripBaseUrl(appBaseNoFile,url))?rewrittenUrl=appBase+hashPrefix+appUrl:appBaseNoFile===url+"/"&&(rewrittenUrl=appBaseNoFile),rewrittenUrl&&this.$$parse(rewrittenUrl),!!rewrittenUrl},this.$$compose=function(){var search=toKeyValue(this.$$search),hash=this.$$hash?"#"+encodeUriSegment(this.$$hash):"";this.$$url=encodePath(this.$$path)+(search?"?"+search:"")+hash,this.$$absUrl=appBase+hashPrefix+this.$$url,this.$$urlUpdatedByLocation=!0}}function locationGetter(property){return function(){return this[property]}}function locationGetterSetter(property,preprocess){return function(value){return isUndefined(value)?this[property]:(this[property]=preprocess(value),this.$$compose(),this)}}function $LocationProvider(){var hashPrefix="!",html5Mode={enabled:!1,requireBase:!0,rewriteLinks:!0};this.hashPrefix=function(prefix){return isDefined(prefix)?(hashPrefix=prefix,this):hashPrefix},this.html5Mode=function(mode){return isBoolean(mode)?(html5Mode.enabled=mode,this):isObject(mode)?(isBoolean(mode.enabled)&&(html5Mode.enabled=mode.enabled),isBoolean(mode.requireBase)&&(html5Mode.requireBase=mode.requireBase),(isBoolean(mode.rewriteLinks)||isString(mode.rewriteLinks))&&(html5Mode.rewriteLinks=mode.rewriteLinks),this):html5Mode},this.$get=["$rootScope","$browser","$sniffer","$rootElement","$window",function($rootScope,$browser,$sniffer,$rootElement,$window){function setBrowserUrlWithFallback(url,replace,state){var oldUrl=$location.url(),oldState=$location.$$state;try{$browser.url(url,replace,state),$location.$$state=$browser.state()}catch(e){throw $location.url(oldUrl),$location.$$state=oldState,e}}function afterLocationChange(oldUrl,oldState){$rootScope.$broadcast("$locationChangeSuccess",$location.absUrl(),oldUrl,$location.$$state,oldState)}var $location,LocationMode,appBase,baseHref=$browser.baseHref(),initialUrl=$browser.url();if(html5Mode.enabled){if(!baseHref&&html5Mode.requireBase)throw $locationMinErr("nobase","$location in HTML5 mode requires a <base> tag to be present!");appBase=serverBase(initialUrl)+(baseHref||"/"),LocationMode=$sniffer.history?LocationHtml5Url:LocationHashbangInHtml5Url}else appBase=stripHash(initialUrl),LocationMode=LocationHashbangUrl;var appBaseNoFile=stripFile(appBase);$location=new LocationMode(appBase,appBaseNoFile,"#"+hashPrefix),$location.$$parseLinkUrl(initialUrl,initialUrl),$location.$$state=$browser.state();var IGNORE_URI_REGEXP=/^\s*(javascript|mailto):/i;$rootElement.on("click",function(event){var rewriteLinks=html5Mode.rewriteLinks;if(rewriteLinks&&!event.ctrlKey&&!event.metaKey&&!event.shiftKey&&2!==event.which&&2!==event.button){for(var elm=jqLite(event.target);"a"!==nodeName_(elm[0]);)if(elm[0]===$rootElement[0]||!(elm=elm.parent())[0])return;if(!isString(rewriteLinks)||!isUndefined(elm.attr(rewriteLinks))){var absHref=elm.prop("href"),relHref=elm.attr("href")||elm.attr("xlink:href");isObject(absHref)&&"[object SVGAnimatedString]"===absHref.toString()&&(absHref=urlResolve(absHref.animVal).href),IGNORE_URI_REGEXP.test(absHref)||!absHref||elm.attr("target")||event.isDefaultPrevented()||$location.$$parseLinkUrl(absHref,relHref)&&(event.preventDefault(),$location.absUrl()!==$browser.url()&&($rootScope.$apply(),$window.angular["ff-684208-preventDefault"]=!0))}}}),trimEmptyHash($location.absUrl())!==trimEmptyHash(initialUrl)&&$browser.url($location.absUrl(),!0);var initializing=!0;return $browser.onUrlChange(function(newUrl,newState){return startsWith(newUrl,appBaseNoFile)?($rootScope.$evalAsync(function(){var defaultPrevented,oldUrl=$location.absUrl(),oldState=$location.$$state;newUrl=trimEmptyHash(newUrl),$location.$$parse(newUrl),$location.$$state=newState,defaultPrevented=$rootScope.$broadcast("$locationChangeStart",newUrl,oldUrl,newState,oldState).defaultPrevented,$location.absUrl()===newUrl&&(defaultPrevented?($location.$$parse(oldUrl),$location.$$state=oldState,setBrowserUrlWithFallback(oldUrl,!1,oldState)):(initializing=!1,afterLocationChange(oldUrl,oldState)))}),void($rootScope.$$phase||$rootScope.$digest())):void($window.location.href=newUrl)}),$rootScope.$watch(function(){if(initializing||$location.$$urlUpdatedByLocation){$location.$$urlUpdatedByLocation=!1;var oldUrl=trimEmptyHash($browser.url()),newUrl=trimEmptyHash($location.absUrl()),oldState=$browser.state(),currentReplace=$location.$$replace,urlOrStateChanged=oldUrl!==newUrl||$location.$$html5&&$sniffer.history&&oldState!==$location.$$state;(initializing||urlOrStateChanged)&&(initializing=!1,$rootScope.$evalAsync(function(){var newUrl=$location.absUrl(),defaultPrevented=$rootScope.$broadcast("$locationChangeStart",newUrl,oldUrl,$location.$$state,oldState).defaultPrevented;$location.absUrl()===newUrl&&(defaultPrevented?($location.$$parse(oldUrl),$location.$$state=oldState):(urlOrStateChanged&&setBrowserUrlWithFallback(newUrl,currentReplace,oldState===$location.$$state?null:$location.$$state),afterLocationChange(oldUrl,oldState)))}))}$location.$$replace=!1}),$location}]}function $LogProvider(){var debug=!0,self=this;this.debugEnabled=function(flag){return isDefined(flag)?(debug=flag,this):debug},this.$get=["$window",function($window){function formatError(arg){return arg instanceof Error&&(arg.stack&&formatStackTrace?arg=arg.message&&arg.stack.indexOf(arg.message)===-1?"Error: "+arg.message+"\n"+arg.stack:arg.stack:arg.sourceURL&&(arg=arg.message+"\n"+arg.sourceURL+":"+arg.line)),arg}function consoleLog(type){var console=$window.console||{},logFn=console[type]||console.log||noop,hasApply=!1;try{hasApply=!!logFn.apply}catch(e){}return hasApply?function(){var args=[];return forEach(arguments,function(arg){args.push(formatError(arg))}),logFn.apply(console,args)}:function(arg1,arg2){logFn(arg1,null==arg2?"":arg2)}}var formatStackTrace=msie||/\bEdge\//.test($window.navigator&&$window.navigator.userAgent);return{log:consoleLog("log"),info:consoleLog("info"),warn:consoleLog("warn"),error:consoleLog("error"),debug:function(){var fn=consoleLog("debug");return function(){debug&&fn.apply(self,arguments)}}()}}]}function getStringValue(name){return name+""}function ifDefined(v,d){return"undefined"!=typeof v?v:d}function plusFn(l,r){return"undefined"==typeof l?r:"undefined"==typeof r?l:l+r}function isStateless($filter,filterName){var fn=$filter(filterName);return!fn.$stateful}function findConstantAndWatchExpressions(ast,$filter){var allConstants,argsToWatch,isStatelessFilter;switch(ast.type){case AST.Program:allConstants=!0,forEach(ast.body,function(expr){findConstantAndWatchExpressions(expr.expression,$filter),allConstants=allConstants&&expr.expression.constant}),ast.constant=allConstants;break;case AST.Literal:ast.constant=!0,ast.toWatch=[];break;case AST.UnaryExpression:findConstantAndWatchExpressions(ast.argument,$filter),ast.constant=ast.argument.constant,ast.toWatch=ast.argument.toWatch;break;case AST.BinaryExpression:findConstantAndWatchExpressions(ast.left,$filter),findConstantAndWatchExpressions(ast.right,$filter),ast.constant=ast.left.constant&&ast.right.constant,ast.toWatch=ast.left.toWatch.concat(ast.right.toWatch);break;case AST.LogicalExpression:findConstantAndWatchExpressions(ast.left,$filter),findConstantAndWatchExpressions(ast.right,$filter),ast.constant=ast.left.constant&&ast.right.constant,ast.toWatch=ast.constant?[]:[ast];break;case AST.ConditionalExpression:findConstantAndWatchExpressions(ast.test,$filter),findConstantAndWatchExpressions(ast.alternate,$filter),findConstantAndWatchExpressions(ast.consequent,$filter),ast.constant=ast.test.constant&&ast.alternate.constant&&ast.consequent.constant,ast.toWatch=ast.constant?[]:[ast];break;case AST.Identifier:ast.constant=!1,ast.toWatch=[ast];break;case AST.MemberExpression:findConstantAndWatchExpressions(ast.object,$filter),ast.computed&&findConstantAndWatchExpressions(ast.property,$filter),ast.constant=ast.object.constant&&(!ast.computed||ast.property.constant),ast.toWatch=[ast];break;case AST.CallExpression:isStatelessFilter=!!ast.filter&&isStateless($filter,ast.callee.name),allConstants=isStatelessFilter,argsToWatch=[],forEach(ast.arguments,function(expr){findConstantAndWatchExpressions(expr,$filter),
+allConstants=allConstants&&expr.constant,expr.constant||argsToWatch.push.apply(argsToWatch,expr.toWatch)}),ast.constant=allConstants,ast.toWatch=isStatelessFilter?argsToWatch:[ast];break;case AST.AssignmentExpression:findConstantAndWatchExpressions(ast.left,$filter),findConstantAndWatchExpressions(ast.right,$filter),ast.constant=ast.left.constant&&ast.right.constant,ast.toWatch=[ast];break;case AST.ArrayExpression:allConstants=!0,argsToWatch=[],forEach(ast.elements,function(expr){findConstantAndWatchExpressions(expr,$filter),allConstants=allConstants&&expr.constant,expr.constant||argsToWatch.push.apply(argsToWatch,expr.toWatch)}),ast.constant=allConstants,ast.toWatch=argsToWatch;break;case AST.ObjectExpression:allConstants=!0,argsToWatch=[],forEach(ast.properties,function(property){findConstantAndWatchExpressions(property.value,$filter),allConstants=allConstants&&property.value.constant&&!property.computed,property.value.constant||argsToWatch.push.apply(argsToWatch,property.value.toWatch),property.computed&&(findConstantAndWatchExpressions(property.key,$filter),property.key.constant||argsToWatch.push.apply(argsToWatch,property.key.toWatch))}),ast.constant=allConstants,ast.toWatch=argsToWatch;break;case AST.ThisExpression:ast.constant=!1,ast.toWatch=[];break;case AST.LocalsExpression:ast.constant=!1,ast.toWatch=[]}}function getInputs(body){if(1===body.length){var lastExpression=body[0].expression,candidate=lastExpression.toWatch;return 1!==candidate.length?candidate:candidate[0]!==lastExpression?candidate:void 0}}function isAssignable(ast){return ast.type===AST.Identifier||ast.type===AST.MemberExpression}function assignableAST(ast){if(1===ast.body.length&&isAssignable(ast.body[0].expression))return{type:AST.AssignmentExpression,left:ast.body[0].expression,right:{type:AST.NGValueParameter},operator:"="}}function isLiteral(ast){return 0===ast.body.length||1===ast.body.length&&(ast.body[0].expression.type===AST.Literal||ast.body[0].expression.type===AST.ArrayExpression||ast.body[0].expression.type===AST.ObjectExpression)}function isConstant(ast){return ast.constant}function ASTCompiler(astBuilder,$filter){this.astBuilder=astBuilder,this.$filter=$filter}function ASTInterpreter(astBuilder,$filter){this.astBuilder=astBuilder,this.$filter=$filter}function getValueOf(value){return isFunction(value.valueOf)?value.valueOf():objectValueOf.call(value)}function $ParseProvider(){var identStart,identContinue,cache=createMap(),literals={"true":!0,"false":!1,"null":null,undefined:void 0};this.addLiteral=function(literalName,literalValue){literals[literalName]=literalValue},this.setIdentifierFns=function(identifierStart,identifierContinue){return identStart=identifierStart,identContinue=identifierContinue,this},this.$get=["$filter",function($filter){function $parse(exp,interceptorFn){var parsedExpression,oneTime,cacheKey;switch(typeof exp){case"string":if(exp=exp.trim(),cacheKey=exp,parsedExpression=cache[cacheKey],!parsedExpression){":"===exp.charAt(0)&&":"===exp.charAt(1)&&(oneTime=!0,exp=exp.substring(2));var lexer=new Lexer($parseOptions),parser=new Parser(lexer,$filter,$parseOptions);parsedExpression=parser.parse(exp),parsedExpression.constant?parsedExpression.$$watchDelegate=constantWatchDelegate:oneTime?parsedExpression.$$watchDelegate=parsedExpression.literal?oneTimeLiteralWatchDelegate:oneTimeWatchDelegate:parsedExpression.inputs&&(parsedExpression.$$watchDelegate=inputsWatchDelegate),cache[cacheKey]=parsedExpression}return addInterceptor(parsedExpression,interceptorFn);case"function":return addInterceptor(exp,interceptorFn);default:return addInterceptor(noop,interceptorFn)}}function expressionInputDirtyCheck(newValue,oldValueOfValue,compareObjectIdentity){return null==newValue||null==oldValueOfValue?newValue===oldValueOfValue:!("object"==typeof newValue&&!compareObjectIdentity&&(newValue=getValueOf(newValue),"object"==typeof newValue))&&(newValue===oldValueOfValue||newValue!==newValue&&oldValueOfValue!==oldValueOfValue)}function inputsWatchDelegate(scope,listener,objectEquality,parsedExpression,prettyPrintExpression){var lastResult,inputExpressions=parsedExpression.inputs;if(1===inputExpressions.length){var oldInputValueOf=expressionInputDirtyCheck;return inputExpressions=inputExpressions[0],scope.$watch(function(scope){var newInputValue=inputExpressions(scope);return expressionInputDirtyCheck(newInputValue,oldInputValueOf,parsedExpression.literal)||(lastResult=parsedExpression(scope,void 0,void 0,[newInputValue]),oldInputValueOf=newInputValue&&getValueOf(newInputValue)),lastResult},listener,objectEquality,prettyPrintExpression)}for(var oldInputValueOfValues=[],oldInputValues=[],i=0,ii=inputExpressions.length;i<ii;i++)oldInputValueOfValues[i]=expressionInputDirtyCheck,oldInputValues[i]=null;return scope.$watch(function(scope){for(var changed=!1,i=0,ii=inputExpressions.length;i<ii;i++){var newInputValue=inputExpressions[i](scope);(changed||(changed=!expressionInputDirtyCheck(newInputValue,oldInputValueOfValues[i],parsedExpression.literal)))&&(oldInputValues[i]=newInputValue,oldInputValueOfValues[i]=newInputValue&&getValueOf(newInputValue))}return changed&&(lastResult=parsedExpression(scope,void 0,void 0,oldInputValues)),lastResult},listener,objectEquality,prettyPrintExpression)}function oneTimeWatchDelegate(scope,listener,objectEquality,parsedExpression,prettyPrintExpression){function oneTimeWatch(scope){return parsedExpression(scope)}function oneTimeListener(value,old,scope){lastValue=value,isFunction(listener)&&listener(value,old,scope),isDefined(value)&&scope.$$postDigest(function(){isDefined(lastValue)&&unwatch()})}var unwatch,lastValue;return unwatch=parsedExpression.inputs?inputsWatchDelegate(scope,oneTimeListener,objectEquality,parsedExpression,prettyPrintExpression):scope.$watch(oneTimeWatch,oneTimeListener,objectEquality)}function oneTimeLiteralWatchDelegate(scope,listener,objectEquality,parsedExpression){function isAllDefined(value){var allDefined=!0;return forEach(value,function(val){isDefined(val)||(allDefined=!1)}),allDefined}var unwatch,lastValue;return unwatch=scope.$watch(function(scope){return parsedExpression(scope)},function(value,old,scope){lastValue=value,isFunction(listener)&&listener(value,old,scope),isAllDefined(value)&&scope.$$postDigest(function(){isAllDefined(lastValue)&&unwatch()})},objectEquality)}function constantWatchDelegate(scope,listener,objectEquality,parsedExpression){var unwatch=scope.$watch(function(scope){return unwatch(),parsedExpression(scope)},listener,objectEquality);return unwatch}function addInterceptor(parsedExpression,interceptorFn){if(!interceptorFn)return parsedExpression;var watchDelegate=parsedExpression.$$watchDelegate,useInputs=!1,regularWatch=watchDelegate!==oneTimeLiteralWatchDelegate&&watchDelegate!==oneTimeWatchDelegate,fn=regularWatch?function(scope,locals,assign,inputs){var value=useInputs&&inputs?inputs[0]:parsedExpression(scope,locals,assign,inputs);return interceptorFn(value,scope,locals)}:function(scope,locals,assign,inputs){var value=parsedExpression(scope,locals,assign,inputs),result=interceptorFn(value,scope,locals);return isDefined(value)?result:value};return useInputs=!parsedExpression.inputs,parsedExpression.$$watchDelegate&&parsedExpression.$$watchDelegate!==inputsWatchDelegate?(fn.$$watchDelegate=parsedExpression.$$watchDelegate,fn.inputs=parsedExpression.inputs):interceptorFn.$stateful||(fn.$$watchDelegate=inputsWatchDelegate,fn.inputs=parsedExpression.inputs?parsedExpression.inputs:[parsedExpression]),fn}var noUnsafeEval=csp().noUnsafeEval,$parseOptions={csp:noUnsafeEval,literals:copy(literals),isIdentifierStart:isFunction(identStart)&&identStart,isIdentifierContinue:isFunction(identContinue)&&identContinue};return $parse}]}function $QProvider(){var errorOnUnhandledRejections=!0;this.$get=["$rootScope","$exceptionHandler",function($rootScope,$exceptionHandler){return qFactory(function(callback){$rootScope.$evalAsync(callback)},$exceptionHandler,errorOnUnhandledRejections)}],this.errorOnUnhandledRejections=function(value){return isDefined(value)?(errorOnUnhandledRejections=value,this):errorOnUnhandledRejections}}function $$QProvider(){var errorOnUnhandledRejections=!0;this.$get=["$browser","$exceptionHandler",function($browser,$exceptionHandler){return qFactory(function(callback){$browser.defer(callback)},$exceptionHandler,errorOnUnhandledRejections)}],this.errorOnUnhandledRejections=function(value){return isDefined(value)?(errorOnUnhandledRejections=value,this):errorOnUnhandledRejections}}function qFactory(nextTick,exceptionHandler,errorOnUnhandledRejections){function defer(){return new Deferred}function Deferred(){var promise=this.promise=new Promise;this.resolve=function(val){resolvePromise(promise,val)},this.reject=function(reason){rejectPromise(promise,reason)},this.notify=function(progress){notifyPromise(promise,progress)}}function Promise(){this.$$state={status:0}}function processQueue(state){var fn,promise,pending;pending=state.pending,state.processScheduled=!1,state.pending=void 0;try{for(var i=0,ii=pending.length;i<ii;++i){state.pur=!0,promise=pending[i][0],fn=pending[i][state.status];try{isFunction(fn)?resolvePromise(promise,fn(state.value)):1===state.status?resolvePromise(promise,state.value):rejectPromise(promise,state.value)}catch(e){rejectPromise(promise,e)}}}finally{--queueSize,errorOnUnhandledRejections&&0===queueSize&&nextTick(processChecks)}}function processChecks(){for(;!queueSize&&checkQueue.length;){var toCheck=checkQueue.shift();if(!toCheck.pur){toCheck.pur=!0;var errorMessage="Possibly unhandled rejection: "+toDebugString(toCheck.value);toCheck.value instanceof Error?exceptionHandler(toCheck.value,errorMessage):exceptionHandler(errorMessage)}}}function scheduleProcessQueue(state){!errorOnUnhandledRejections||state.pending||2!==state.status||state.pur||(0===queueSize&&0===checkQueue.length&&nextTick(processChecks),checkQueue.push(state)),!state.processScheduled&&state.pending&&(state.processScheduled=!0,++queueSize,nextTick(function(){processQueue(state)}))}function resolvePromise(promise,val){promise.$$state.status||(val===promise?$$reject(promise,$qMinErr("qcycle","Expected promise to be resolved with value other than itself '{0}'",val)):$$resolve(promise,val))}function $$resolve(promise,val){function doResolve(val){done||(done=!0,$$resolve(promise,val))}function doReject(val){done||(done=!0,$$reject(promise,val))}function doNotify(progress){notifyPromise(promise,progress)}var then,done=!1;try{(isObject(val)||isFunction(val))&&(then=val.then),isFunction(then)?(promise.$$state.status=-1,then.call(val,doResolve,doReject,doNotify)):(promise.$$state.value=val,promise.$$state.status=1,scheduleProcessQueue(promise.$$state))}catch(e){doReject(e)}}function rejectPromise(promise,reason){promise.$$state.status||$$reject(promise,reason)}function $$reject(promise,reason){promise.$$state.value=reason,promise.$$state.status=2,scheduleProcessQueue(promise.$$state)}function notifyPromise(promise,progress){var callbacks=promise.$$state.pending;promise.$$state.status<=0&&callbacks&&callbacks.length&&nextTick(function(){for(var callback,result,i=0,ii=callbacks.length;i<ii;i++){result=callbacks[i][0],callback=callbacks[i][3];try{notifyPromise(result,isFunction(callback)?callback(progress):progress)}catch(e){exceptionHandler(e)}}})}function reject(reason){var result=new Promise;return rejectPromise(result,reason),result}function handleCallback(value,resolver,callback){var callbackOutput=null;try{isFunction(callback)&&(callbackOutput=callback())}catch(e){return reject(e)}return isPromiseLike(callbackOutput)?callbackOutput.then(function(){return resolver(value)},reject):resolver(value)}function when(value,callback,errback,progressBack){var result=new Promise;return resolvePromise(result,value),result.then(callback,errback,progressBack)}function all(promises){var result=new Promise,counter=0,results=isArray(promises)?[]:{};return forEach(promises,function(promise,key){counter++,when(promise).then(function(value){results[key]=value,--counter||resolvePromise(result,results)},function(reason){rejectPromise(result,reason)})}),0===counter&&resolvePromise(result,results),result}function race(promises){var deferred=defer();return forEach(promises,function(promise){when(promise).then(deferred.resolve,deferred.reject)}),deferred.promise}function $Q(resolver){function resolveFn(value){resolvePromise(promise,value)}function rejectFn(reason){rejectPromise(promise,reason)}if(!isFunction(resolver))throw $qMinErr("norslvr","Expected resolverFn, got '{0}'",resolver);var promise=new Promise;return resolver(resolveFn,rejectFn),promise}var $qMinErr=minErr("$q",TypeError),queueSize=0,checkQueue=[];extend(Promise.prototype,{then:function(onFulfilled,onRejected,progressBack){if(isUndefined(onFulfilled)&&isUndefined(onRejected)&&isUndefined(progressBack))return this;var result=new Promise;return this.$$state.pending=this.$$state.pending||[],this.$$state.pending.push([result,onFulfilled,onRejected,progressBack]),this.$$state.status>0&&scheduleProcessQueue(this.$$state),result},"catch":function(callback){return this.then(null,callback)},"finally":function(callback,progressBack){return this.then(function(value){return handleCallback(value,resolve,callback)},function(error){return handleCallback(error,reject,callback)},progressBack)}});var resolve=when;return $Q.prototype=Promise.prototype,$Q.defer=defer,$Q.reject=reject,$Q.when=when,$Q.resolve=resolve,$Q.all=all,$Q.race=race,$Q}function $$RAFProvider(){this.$get=["$window","$timeout",function($window,$timeout){var requestAnimationFrame=$window.requestAnimationFrame||$window.webkitRequestAnimationFrame,cancelAnimationFrame=$window.cancelAnimationFrame||$window.webkitCancelAnimationFrame||$window.webkitCancelRequestAnimationFrame,rafSupported=!!requestAnimationFrame,raf=rafSupported?function(fn){var id=requestAnimationFrame(fn);return function(){cancelAnimationFrame(id)}}:function(fn){var timer=$timeout(fn,16.66,!1);return function(){$timeout.cancel(timer)}};return raf.supported=rafSupported,raf}]}function $RootScopeProvider(){function createChildScopeClass(parent){function ChildScope(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$id=nextUid(),this.$$ChildScope=null}return ChildScope.prototype=parent,ChildScope}var TTL=10,$rootScopeMinErr=minErr("$rootScope"),lastDirtyWatch=null,applyAsyncId=null;this.digestTtl=function(value){return arguments.length&&(TTL=value),TTL},this.$get=["$exceptionHandler","$parse","$browser",function($exceptionHandler,$parse,$browser){function destroyChildScope($event){$event.currentScope.$$destroyed=!0}function cleanUpScope($scope){9===msie&&($scope.$$childHead&&cleanUpScope($scope.$$childHead),$scope.$$nextSibling&&cleanUpScope($scope.$$nextSibling)),$scope.$parent=$scope.$$nextSibling=$scope.$$prevSibling=$scope.$$childHead=$scope.$$childTail=$scope.$root=$scope.$$watchers=null}function Scope(){this.$id=nextUid(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this.$root=this,this.$$destroyed=!1,this.$$listeners={},this.$$listenerCount={},this.$$watchersCount=0,this.$$isolateBindings=null}function beginPhase(phase){if($rootScope.$$phase)throw $rootScopeMinErr("inprog","{0} already in progress",$rootScope.$$phase);$rootScope.$$phase=phase}function clearPhase(){$rootScope.$$phase=null}function incrementWatchersCount(current,count){do current.$$watchersCount+=count;while(current=current.$parent)}function decrementListenerCount(current,count,name){do current.$$listenerCount[name]-=count,0===current.$$listenerCount[name]&&delete current.$$listenerCount[name];while(current=current.$parent)}function initWatchVal(){}function flushApplyAsync(){for(;applyAsyncQueue.length;)try{applyAsyncQueue.shift()()}catch(e){$exceptionHandler(e)}applyAsyncId=null}function scheduleApplyAsync(){null===applyAsyncId&&(applyAsyncId=$browser.defer(function(){$rootScope.$apply(flushApplyAsync)}))}Scope.prototype={constructor:Scope,$new:function(isolate,parent){var child;return parent=parent||this,isolate?(child=new Scope,child.$root=this.$root):(this.$$ChildScope||(this.$$ChildScope=createChildScopeClass(this)),child=new this.$$ChildScope),child.$parent=parent,child.$$prevSibling=parent.$$childTail,parent.$$childHead?(parent.$$childTail.$$nextSibling=child,parent.$$childTail=child):parent.$$childHead=parent.$$childTail=child,(isolate||parent!==this)&&child.$on("$destroy",destroyChildScope),child},$watch:function(watchExp,listener,objectEquality,prettyPrintExpression){var get=$parse(watchExp);if(get.$$watchDelegate)return get.$$watchDelegate(this,listener,objectEquality,get,watchExp);var scope=this,array=scope.$$watchers,watcher={fn:listener,last:initWatchVal,get:get,exp:prettyPrintExpression||watchExp,eq:!!objectEquality};return lastDirtyWatch=null,isFunction(listener)||(watcher.fn=noop),array||(array=scope.$$watchers=[],array.$$digestWatchIndex=-1),array.unshift(watcher),array.$$digestWatchIndex++,incrementWatchersCount(this,1),function(){var index=arrayRemove(array,watcher);index>=0&&(incrementWatchersCount(scope,-1),index<array.$$digestWatchIndex&&array.$$digestWatchIndex--),lastDirtyWatch=null}},$watchGroup:function(watchExpressions,listener){function watchGroupAction(){changeReactionScheduled=!1,firstRun?(firstRun=!1,listener(newValues,newValues,self)):listener(newValues,oldValues,self)}var oldValues=new Array(watchExpressions.length),newValues=new Array(watchExpressions.length),deregisterFns=[],self=this,changeReactionScheduled=!1,firstRun=!0;if(!watchExpressions.length){var shouldCall=!0;return self.$evalAsync(function(){shouldCall&&listener(newValues,newValues,self)}),function(){shouldCall=!1}}return 1===watchExpressions.length?this.$watch(watchExpressions[0],function(value,oldValue,scope){newValues[0]=value,oldValues[0]=oldValue,listener(newValues,value===oldValue?newValues:oldValues,scope)}):(forEach(watchExpressions,function(expr,i){var unwatchFn=self.$watch(expr,function(value,oldValue){newValues[i]=value,oldValues[i]=oldValue,changeReactionScheduled||(changeReactionScheduled=!0,self.$evalAsync(watchGroupAction))});deregisterFns.push(unwatchFn)}),function(){for(;deregisterFns.length;)deregisterFns.shift()()})},$watchCollection:function(obj,listener){function $watchCollectionInterceptor(_value){newValue=_value;var newLength,key,bothNaN,newItem,oldItem;if(!isUndefined(newValue)){if(isObject(newValue))if(isArrayLike(newValue)){oldValue!==internalArray&&(oldValue=internalArray,oldLength=oldValue.length=0,changeDetected++),newLength=newValue.length,oldLength!==newLength&&(changeDetected++,oldValue.length=oldLength=newLength);for(var i=0;i<newLength;i++)oldItem=oldValue[i],newItem=newValue[i],bothNaN=oldItem!==oldItem&&newItem!==newItem,bothNaN||oldItem===newItem||(changeDetected++,oldValue[i]=newItem)}else{oldValue!==internalObject&&(oldValue=internalObject={},oldLength=0,changeDetected++),newLength=0;for(key in newValue)hasOwnProperty.call(newValue,key)&&(newLength++,newItem=newValue[key],oldItem=oldValue[key],key in oldValue?(bothNaN=oldItem!==oldItem&&newItem!==newItem,bothNaN||oldItem===newItem||(changeDetected++,oldValue[key]=newItem)):(oldLength++,oldValue[key]=newItem,changeDetected++));if(oldLength>newLength){changeDetected++;for(key in oldValue)hasOwnProperty.call(newValue,key)||(oldLength--,delete oldValue[key])}}else oldValue!==newValue&&(oldValue=newValue,changeDetected++);return changeDetected}}function $watchCollectionAction(){if(initRun?(initRun=!1,listener(newValue,newValue,self)):listener(newValue,veryOldValue,self),trackVeryOldValue)if(isObject(newValue))if(isArrayLike(newValue)){veryOldValue=new Array(newValue.length);for(var i=0;i<newValue.length;i++)veryOldValue[i]=newValue[i]}else{veryOldValue={};for(var key in newValue)hasOwnProperty.call(newValue,key)&&(veryOldValue[key]=newValue[key])}else veryOldValue=newValue}$watchCollectionInterceptor.$stateful=!0;var newValue,oldValue,veryOldValue,self=this,trackVeryOldValue=listener.length>1,changeDetected=0,changeDetector=$parse(obj,$watchCollectionInterceptor),internalArray=[],internalObject={},initRun=!0,oldLength=0;return this.$watch(changeDetector,$watchCollectionAction)},$digest:function(){var watch,value,last,fn,get,watchers,dirty,next,current,logIdx,asyncTask,ttl=TTL,target=this,watchLog=[];beginPhase("$digest"),$browser.$$checkUrlChange(),this===$rootScope&&null!==applyAsyncId&&($browser.defer.cancel(applyAsyncId),flushApplyAsync()),lastDirtyWatch=null;do{dirty=!1,current=target;for(var asyncQueuePosition=0;asyncQueuePosition<asyncQueue.length;asyncQueuePosition++){try{asyncTask=asyncQueue[asyncQueuePosition],fn=asyncTask.fn,fn(asyncTask.scope,asyncTask.locals)}catch(e){$exceptionHandler(e)}lastDirtyWatch=null}asyncQueue.length=0;traverseScopesLoop:do{if(watchers=current.$$watchers)for(watchers.$$digestWatchIndex=watchers.length;watchers.$$digestWatchIndex--;)try{if(watch=watchers[watchers.$$digestWatchIndex])if(get=watch.get,(value=get(current))===(last=watch.last)||(watch.eq?equals(value,last):isNumberNaN(value)&&isNumberNaN(last))){if(watch===lastDirtyWatch){dirty=!1;break traverseScopesLoop}}else dirty=!0,lastDirtyWatch=watch,watch.last=watch.eq?copy(value,null):value,fn=watch.fn,fn(value,last===initWatchVal?value:last,current),ttl<5&&(logIdx=4-ttl,watchLog[logIdx]||(watchLog[logIdx]=[]),watchLog[logIdx].push({msg:isFunction(watch.exp)?"fn: "+(watch.exp.name||watch.exp.toString()):watch.exp,newVal:value,oldVal:last}))}catch(e){$exceptionHandler(e)}if(!(next=current.$$watchersCount&&current.$$childHead||current!==target&&current.$$nextSibling))for(;current!==target&&!(next=current.$$nextSibling);)current=current.$parent}while(current=next);if((dirty||asyncQueue.length)&&!ttl--)throw clearPhase(),$rootScopeMinErr("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",TTL,watchLog)}while(dirty||asyncQueue.length);for(clearPhase();postDigestQueuePosition<postDigestQueue.length;)try{postDigestQueue[postDigestQueuePosition++]()}catch(e){$exceptionHandler(e)}postDigestQueue.length=postDigestQueuePosition=0,$browser.$$checkUrlChange()},$destroy:function(){if(!this.$$destroyed){var parent=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this===$rootScope&&$browser.$$applicationDestroyed(),incrementWatchersCount(this,-this.$$watchersCount);for(var eventName in this.$$listenerCount)decrementListenerCount(this,this.$$listenerCount[eventName],eventName);parent&&parent.$$childHead===this&&(parent.$$childHead=this.$$nextSibling),parent&&parent.$$childTail===this&&(parent.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$destroy=this.$digest=this.$apply=this.$evalAsync=this.$applyAsync=noop,this.$on=this.$watch=this.$watchGroup=function(){return noop},this.$$listeners={},this.$$nextSibling=null,cleanUpScope(this)}},$eval:function(expr,locals){return $parse(expr)(this,locals)},$evalAsync:function(expr,locals){$rootScope.$$phase||asyncQueue.length||$browser.defer(function(){asyncQueue.length&&$rootScope.$digest()}),asyncQueue.push({scope:this,fn:$parse(expr),locals:locals})},$$postDigest:function(fn){postDigestQueue.push(fn)},$apply:function(expr){try{beginPhase("$apply");try{return this.$eval(expr)}finally{clearPhase()}}catch(e){$exceptionHandler(e)}finally{try{$rootScope.$digest()}catch(e){throw $exceptionHandler(e),e}}},$applyAsync:function(expr){function $applyAsyncExpression(){scope.$eval(expr)}var scope=this;expr&&applyAsyncQueue.push($applyAsyncExpression),expr=$parse(expr),scheduleApplyAsync()},$on:function(name,listener){var namedListeners=this.$$listeners[name];namedListeners||(this.$$listeners[name]=namedListeners=[]),namedListeners.push(listener);var current=this;do current.$$listenerCount[name]||(current.$$listenerCount[name]=0),current.$$listenerCount[name]++;while(current=current.$parent);var self=this;return function(){var indexOfListener=namedListeners.indexOf(listener);indexOfListener!==-1&&(namedListeners[indexOfListener]=null,decrementListenerCount(self,1,name))}},$emit:function(name,args){var namedListeners,i,length,empty=[],scope=this,stopPropagation=!1,event={name:name,targetScope:scope,stopPropagation:function(){stopPropagation=!0},preventDefault:function(){event.defaultPrevented=!0},defaultPrevented:!1},listenerArgs=concat([event],arguments,1);do{for(namedListeners=scope.$$listeners[name]||empty,event.currentScope=scope,i=0,length=namedListeners.length;i<length;i++)if(namedListeners[i])try{namedListeners[i].apply(null,listenerArgs)}catch(e){$exceptionHandler(e)}else namedListeners.splice(i,1),i--,length--;if(stopPropagation)return event.currentScope=null,event;scope=scope.$parent}while(scope);return event.currentScope=null,event},$broadcast:function(name,args){var target=this,current=target,next=target,event={name:name,targetScope:target,preventDefault:function(){event.defaultPrevented=!0},defaultPrevented:!1};if(!target.$$listenerCount[name])return event;for(var listeners,i,length,listenerArgs=concat([event],arguments,1);current=next;){for(event.currentScope=current,listeners=current.$$listeners[name]||[],i=0,length=listeners.length;i<length;i++)if(listeners[i])try{listeners[i].apply(null,listenerArgs)}catch(e){$exceptionHandler(e)}else listeners.splice(i,1),i--,length--;if(!(next=current.$$listenerCount[name]&&current.$$childHead||current!==target&&current.$$nextSibling))for(;current!==target&&!(next=current.$$nextSibling);)current=current.$parent}return event.currentScope=null,event}};var $rootScope=new Scope,asyncQueue=$rootScope.$$asyncQueue=[],postDigestQueue=$rootScope.$$postDigestQueue=[],applyAsyncQueue=$rootScope.$$applyAsyncQueue=[],postDigestQueuePosition=0;return $rootScope}]}function $$SanitizeUriProvider(){var aHrefSanitizationWhitelist=/^\s*(https?|ftp|mailto|tel|file):/,imgSrcSanitizationWhitelist=/^\s*((https?|ftp|file|blob):|data:image\/)/;this.aHrefSanitizationWhitelist=function(regexp){return isDefined(regexp)?(aHrefSanitizationWhitelist=regexp,this):aHrefSanitizationWhitelist},this.imgSrcSanitizationWhitelist=function(regexp){return isDefined(regexp)?(imgSrcSanitizationWhitelist=regexp,this):imgSrcSanitizationWhitelist},this.$get=function(){return function(uri,isImage){var normalizedVal,regex=isImage?imgSrcSanitizationWhitelist:aHrefSanitizationWhitelist;return normalizedVal=urlResolve(uri).href,""===normalizedVal||normalizedVal.match(regex)?uri:"unsafe:"+normalizedVal}}}function snakeToCamel(name){return name.replace(UNDERSCORE_LOWERCASE_REGEXP,fnCamelCaseReplace)}function adjustMatcher(matcher){if("self"===matcher)return matcher;if(isString(matcher)){if(matcher.indexOf("***")>-1)throw $sceMinErr("iwcard","Illegal sequence *** in string matcher.  String: {0}",matcher);return matcher=escapeForRegexp(matcher).replace(/\\\*\\\*/g,".*").replace(/\\\*/g,"[^:/.?&;]*"),new RegExp("^"+matcher+"$")}if(isRegExp(matcher))return new RegExp("^"+matcher.source+"$");throw $sceMinErr("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function adjustMatchers(matchers){var adjustedMatchers=[];return isDefined(matchers)&&forEach(matchers,function(matcher){adjustedMatchers.push(adjustMatcher(matcher))}),adjustedMatchers}function $SceDelegateProvider(){this.SCE_CONTEXTS=SCE_CONTEXTS;var resourceUrlWhitelist=["self"],resourceUrlBlacklist=[];this.resourceUrlWhitelist=function(value){return arguments.length&&(resourceUrlWhitelist=adjustMatchers(value)),resourceUrlWhitelist},this.resourceUrlBlacklist=function(value){return arguments.length&&(resourceUrlBlacklist=adjustMatchers(value)),resourceUrlBlacklist},this.$get=["$injector",function($injector){function matchUrl(matcher,parsedUrl){return"self"===matcher?urlIsSameOrigin(parsedUrl):!!matcher.exec(parsedUrl.href)}function isResourceUrlAllowedByPolicy(url){var i,n,parsedUrl=urlResolve(url.toString()),allowed=!1;for(i=0,n=resourceUrlWhitelist.length;i<n;i++)if(matchUrl(resourceUrlWhitelist[i],parsedUrl)){allowed=!0;break}if(allowed)for(i=0,n=resourceUrlBlacklist.length;i<n;i++)if(matchUrl(resourceUrlBlacklist[i],parsedUrl)){allowed=!1;break}return allowed}function generateHolderType(Base){var holderType=function(trustedValue){this.$$unwrapTrustedValue=function(){return trustedValue}};return Base&&(holderType.prototype=new Base),holderType.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},holderType.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},holderType}function trustAs(type,trustedValue){var Constructor=byType.hasOwnProperty(type)?byType[type]:null;if(!Constructor)throw $sceMinErr("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",type,trustedValue);if(null===trustedValue||isUndefined(trustedValue)||""===trustedValue)return trustedValue;if("string"!=typeof trustedValue)throw $sceMinErr("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",type);return new Constructor(trustedValue)}function valueOf(maybeTrusted){return maybeTrusted instanceof trustedValueHolderBase?maybeTrusted.$$unwrapTrustedValue():maybeTrusted}function getTrusted(type,maybeTrusted){if(null===maybeTrusted||isUndefined(maybeTrusted)||""===maybeTrusted)return maybeTrusted;var constructor=byType.hasOwnProperty(type)?byType[type]:null;if(constructor&&maybeTrusted instanceof constructor)return maybeTrusted.$$unwrapTrustedValue();if(type===SCE_CONTEXTS.RESOURCE_URL){if(isResourceUrlAllowedByPolicy(maybeTrusted))return maybeTrusted;throw $sceMinErr("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy.  URL: {0}",maybeTrusted.toString())}if(type===SCE_CONTEXTS.HTML)return htmlSanitizer(maybeTrusted);throw $sceMinErr("unsafe","Attempting to use an unsafe value in a safe context.")}var htmlSanitizer=function(html){throw $sceMinErr("unsafe","Attempting to use an unsafe value in a safe context.")};$injector.has("$sanitize")&&(htmlSanitizer=$injector.get("$sanitize"));var trustedValueHolderBase=generateHolderType(),byType={};return byType[SCE_CONTEXTS.HTML]=generateHolderType(trustedValueHolderBase),byType[SCE_CONTEXTS.CSS]=generateHolderType(trustedValueHolderBase),byType[SCE_CONTEXTS.URL]=generateHolderType(trustedValueHolderBase),byType[SCE_CONTEXTS.JS]=generateHolderType(trustedValueHolderBase),byType[SCE_CONTEXTS.RESOURCE_URL]=generateHolderType(byType[SCE_CONTEXTS.URL]),{trustAs:trustAs,getTrusted:getTrusted,valueOf:valueOf}}]}function $SceProvider(){var enabled=!0;this.enabled=function(value){return arguments.length&&(enabled=!!value),enabled},this.$get=["$parse","$sceDelegate",function($parse,$sceDelegate){if(enabled&&msie<8)throw $sceMinErr("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 11 in quirks mode.  You can fix this by adding the text <!doctype html> to the top of your HTML document.  See http://docs.angularjs.org/api/ng.$sce for more information.");var sce=shallowCopy(SCE_CONTEXTS);sce.isEnabled=function(){return enabled},sce.trustAs=$sceDelegate.trustAs,sce.getTrusted=$sceDelegate.getTrusted,sce.valueOf=$sceDelegate.valueOf,enabled||(sce.trustAs=sce.getTrusted=function(type,value){return value},sce.valueOf=identity),sce.parseAs=function(type,expr){var parsed=$parse(expr);return parsed.literal&&parsed.constant?parsed:$parse(expr,function(value){return sce.getTrusted(type,value)})};var parse=sce.parseAs,getTrusted=sce.getTrusted,trustAs=sce.trustAs;return forEach(SCE_CONTEXTS,function(enumValue,name){var lName=lowercase(name);sce[snakeToCamel("parse_as_"+lName)]=function(expr){return parse(enumValue,expr)},sce[snakeToCamel("get_trusted_"+lName)]=function(value){return getTrusted(enumValue,value)},sce[snakeToCamel("trust_as_"+lName)]=function(value){return trustAs(enumValue,value)}}),sce}]}function $SnifferProvider(){this.$get=["$window","$document",function($window,$document){
+var eventSupport={},isNw=$window.nw&&$window.nw.process,isChromePackagedApp=!isNw&&$window.chrome&&($window.chrome.app&&$window.chrome.app.runtime||!$window.chrome.app&&$window.chrome.runtime&&$window.chrome.runtime.id),hasHistoryPushState=!isChromePackagedApp&&$window.history&&$window.history.pushState,android=toInt((/android (\d+)/.exec(lowercase(($window.navigator||{}).userAgent))||[])[1]),boxee=/Boxee/i.test(($window.navigator||{}).userAgent),document=$document[0]||{},bodyStyle=document.body&&document.body.style,transitions=!1,animations=!1;return bodyStyle&&(transitions=!!("transition"in bodyStyle||"webkitTransition"in bodyStyle),animations=!!("animation"in bodyStyle||"webkitAnimation"in bodyStyle)),{history:!(!hasHistoryPushState||android<4||boxee),hasEvent:function(event){if("input"===event&&msie)return!1;if(isUndefined(eventSupport[event])){var divElm=document.createElement("div");eventSupport[event]="on"+event in divElm}return eventSupport[event]},csp:csp(),transitions:transitions,animations:animations,android:android}}]}function $TemplateRequestProvider(){var httpOptions;this.httpOptions=function(val){return val?(httpOptions=val,this):httpOptions},this.$get=["$exceptionHandler","$templateCache","$http","$q","$sce",function($exceptionHandler,$templateCache,$http,$q,$sce){function handleRequestFn(tpl,ignoreRequestError){function handleError(resp){return ignoreRequestError||(resp=$templateRequestMinErr("tpload","Failed to load template: {0} (HTTP status: {1} {2})",tpl,resp.status,resp.statusText),$exceptionHandler(resp)),$q.reject(resp)}handleRequestFn.totalPendingRequests++,isString(tpl)&&!isUndefined($templateCache.get(tpl))||(tpl=$sce.getTrustedResourceUrl(tpl));var transformResponse=$http.defaults&&$http.defaults.transformResponse;return isArray(transformResponse)?transformResponse=transformResponse.filter(function(transformer){return transformer!==defaultHttpResponseTransform}):transformResponse===defaultHttpResponseTransform&&(transformResponse=null),$http.get(tpl,extend({cache:$templateCache,transformResponse:transformResponse},httpOptions))["finally"](function(){handleRequestFn.totalPendingRequests--}).then(function(response){return $templateCache.put(tpl,response.data),response.data},handleError)}return handleRequestFn.totalPendingRequests=0,handleRequestFn}]}function $$TestabilityProvider(){this.$get=["$rootScope","$browser","$location",function($rootScope,$browser,$location){var testability={};return testability.findBindings=function(element,expression,opt_exactMatch){var bindings=element.getElementsByClassName("ng-binding"),matches=[];return forEach(bindings,function(binding){var dataBinding=angular.element(binding).data("$binding");dataBinding&&forEach(dataBinding,function(bindingName){if(opt_exactMatch){var matcher=new RegExp("(^|\\s)"+escapeForRegexp(expression)+"(\\s|\\||$)");matcher.test(bindingName)&&matches.push(binding)}else bindingName.indexOf(expression)!==-1&&matches.push(binding)})}),matches},testability.findModels=function(element,expression,opt_exactMatch){for(var prefixes=["ng-","data-ng-","ng\\:"],p=0;p<prefixes.length;++p){var attributeEquals=opt_exactMatch?"=":"*=",selector="["+prefixes[p]+"model"+attributeEquals+'"'+expression+'"]',elements=element.querySelectorAll(selector);if(elements.length)return elements}},testability.getLocation=function(){return $location.url()},testability.setLocation=function(url){url!==$location.url()&&($location.url(url),$rootScope.$digest())},testability.whenStable=function(callback){$browser.notifyWhenNoOutstandingRequests(callback)},testability}]}function $TimeoutProvider(){this.$get=["$rootScope","$browser","$q","$$q","$exceptionHandler",function($rootScope,$browser,$q,$$q,$exceptionHandler){function timeout(fn,delay,invokeApply){isFunction(fn)||(invokeApply=delay,delay=fn,fn=noop);var timeoutId,args=sliceArgs(arguments,3),skipApply=isDefined(invokeApply)&&!invokeApply,deferred=(skipApply?$$q:$q).defer(),promise=deferred.promise;return timeoutId=$browser.defer(function(){try{deferred.resolve(fn.apply(null,args))}catch(e){deferred.reject(e),$exceptionHandler(e)}finally{delete deferreds[promise.$$timeoutId]}skipApply||$rootScope.$apply()},delay),promise.$$timeoutId=timeoutId,deferreds[timeoutId]=deferred,promise}var deferreds={};return timeout.cancel=function(promise){return!!(promise&&promise.$$timeoutId in deferreds)&&(deferreds[promise.$$timeoutId].promise["catch"](noop),deferreds[promise.$$timeoutId].reject("canceled"),delete deferreds[promise.$$timeoutId],$browser.defer.cancel(promise.$$timeoutId))},timeout}]}function urlResolve(url){var href=url;return msie&&(urlParsingNode.setAttribute("href",href),href=urlParsingNode.href),urlParsingNode.setAttribute("href",href),{href:urlParsingNode.href,protocol:urlParsingNode.protocol?urlParsingNode.protocol.replace(/:$/,""):"",host:urlParsingNode.host,search:urlParsingNode.search?urlParsingNode.search.replace(/^\?/,""):"",hash:urlParsingNode.hash?urlParsingNode.hash.replace(/^#/,""):"",hostname:urlParsingNode.hostname,port:urlParsingNode.port,pathname:"/"===urlParsingNode.pathname.charAt(0)?urlParsingNode.pathname:"/"+urlParsingNode.pathname}}function urlIsSameOrigin(requestUrl){var parsed=isString(requestUrl)?urlResolve(requestUrl):requestUrl;return parsed.protocol===originUrl.protocol&&parsed.host===originUrl.host}function $WindowProvider(){this.$get=valueFn(window)}function $$CookieReader($document){function safeGetCookie(rawDocument){try{return rawDocument.cookie||""}catch(e){return""}}function safeDecodeURIComponent(str){try{return decodeURIComponent(str)}catch(e){return str}}var rawDocument=$document[0]||{},lastCookies={},lastCookieString="";return function(){var cookieArray,cookie,i,index,name,currentCookieString=safeGetCookie(rawDocument);if(currentCookieString!==lastCookieString)for(lastCookieString=currentCookieString,cookieArray=lastCookieString.split("; "),lastCookies={},i=0;i<cookieArray.length;i++)cookie=cookieArray[i],index=cookie.indexOf("="),index>0&&(name=safeDecodeURIComponent(cookie.substring(0,index)),isUndefined(lastCookies[name])&&(lastCookies[name]=safeDecodeURIComponent(cookie.substring(index+1))));return lastCookies}}function $$CookieReaderProvider(){this.$get=$$CookieReader}function $FilterProvider($provide){function register(name,factory){if(isObject(name)){var filters={};return forEach(name,function(filter,key){filters[key]=register(key,filter)}),filters}return $provide.factory(name+suffix,factory)}var suffix="Filter";this.register=register,this.$get=["$injector",function($injector){return function(name){return $injector.get(name+suffix)}}],register("currency",currencyFilter),register("date",dateFilter),register("filter",filterFilter),register("json",jsonFilter),register("limitTo",limitToFilter),register("lowercase",lowercaseFilter),register("number",numberFilter),register("orderBy",orderByFilter),register("uppercase",uppercaseFilter)}function filterFilter(){return function(array,expression,comparator,anyPropertyKey){if(!isArrayLike(array)){if(null==array)return array;throw minErr("filter")("notarray","Expected array but received: {0}",array)}anyPropertyKey=anyPropertyKey||"$";var predicateFn,matchAgainstAnyProp,expressionType=getTypeForFilter(expression);switch(expressionType){case"function":predicateFn=expression;break;case"boolean":case"null":case"number":case"string":matchAgainstAnyProp=!0;case"object":predicateFn=createPredicateFn(expression,comparator,anyPropertyKey,matchAgainstAnyProp);break;default:return array}return Array.prototype.filter.call(array,predicateFn)}}function createPredicateFn(expression,comparator,anyPropertyKey,matchAgainstAnyProp){var predicateFn,shouldMatchPrimitives=isObject(expression)&&anyPropertyKey in expression;return comparator===!0?comparator=equals:isFunction(comparator)||(comparator=function(actual,expected){return!isUndefined(actual)&&(null===actual||null===expected?actual===expected:!(isObject(expected)||isObject(actual)&&!hasCustomToString(actual))&&(actual=lowercase(""+actual),expected=lowercase(""+expected),actual.indexOf(expected)!==-1))}),predicateFn=function(item){return shouldMatchPrimitives&&!isObject(item)?deepCompare(item,expression[anyPropertyKey],comparator,anyPropertyKey,!1):deepCompare(item,expression,comparator,anyPropertyKey,matchAgainstAnyProp)}}function deepCompare(actual,expected,comparator,anyPropertyKey,matchAgainstAnyProp,dontMatchWholeObject){var actualType=getTypeForFilter(actual),expectedType=getTypeForFilter(expected);if("string"===expectedType&&"!"===expected.charAt(0))return!deepCompare(actual,expected.substring(1),comparator,anyPropertyKey,matchAgainstAnyProp);if(isArray(actual))return actual.some(function(item){return deepCompare(item,expected,comparator,anyPropertyKey,matchAgainstAnyProp)});switch(actualType){case"object":var key;if(matchAgainstAnyProp){for(key in actual)if(key.charAt&&"$"!==key.charAt(0)&&deepCompare(actual[key],expected,comparator,anyPropertyKey,!0))return!0;return!dontMatchWholeObject&&deepCompare(actual,expected,comparator,anyPropertyKey,!1)}if("object"===expectedType){for(key in expected){var expectedVal=expected[key];if(!isFunction(expectedVal)&&!isUndefined(expectedVal)){var matchAnyProperty=key===anyPropertyKey,actualVal=matchAnyProperty?actual:actual[key];if(!deepCompare(actualVal,expectedVal,comparator,anyPropertyKey,matchAnyProperty,matchAnyProperty))return!1}}return!0}return comparator(actual,expected);case"function":return!1;default:return comparator(actual,expected)}}function getTypeForFilter(val){return null===val?"null":typeof val}function currencyFilter($locale){var formats=$locale.NUMBER_FORMATS;return function(amount,currencySymbol,fractionSize){return isUndefined(currencySymbol)&&(currencySymbol=formats.CURRENCY_SYM),isUndefined(fractionSize)&&(fractionSize=formats.PATTERNS[1].maxFrac),null==amount?amount:formatNumber(amount,formats.PATTERNS[1],formats.GROUP_SEP,formats.DECIMAL_SEP,fractionSize).replace(/\u00A4/g,currencySymbol)}}function numberFilter($locale){var formats=$locale.NUMBER_FORMATS;return function(number,fractionSize){return null==number?number:formatNumber(number,formats.PATTERNS[0],formats.GROUP_SEP,formats.DECIMAL_SEP,fractionSize)}}function parse(numStr){var digits,numberOfIntegerDigits,i,j,zeros,exponent=0;for((numberOfIntegerDigits=numStr.indexOf(DECIMAL_SEP))>-1&&(numStr=numStr.replace(DECIMAL_SEP,"")),(i=numStr.search(/e/i))>0?(numberOfIntegerDigits<0&&(numberOfIntegerDigits=i),numberOfIntegerDigits+=+numStr.slice(i+1),numStr=numStr.substring(0,i)):numberOfIntegerDigits<0&&(numberOfIntegerDigits=numStr.length),i=0;numStr.charAt(i)===ZERO_CHAR;i++);if(i===(zeros=numStr.length))digits=[0],numberOfIntegerDigits=1;else{for(zeros--;numStr.charAt(zeros)===ZERO_CHAR;)zeros--;for(numberOfIntegerDigits-=i,digits=[],j=0;i<=zeros;i++,j++)digits[j]=+numStr.charAt(i)}return numberOfIntegerDigits>MAX_DIGITS&&(digits=digits.splice(0,MAX_DIGITS-1),exponent=numberOfIntegerDigits-1,numberOfIntegerDigits=1),{d:digits,e:exponent,i:numberOfIntegerDigits}}function roundNumber(parsedNumber,fractionSize,minFrac,maxFrac){var digits=parsedNumber.d,fractionLen=digits.length-parsedNumber.i;fractionSize=isUndefined(fractionSize)?Math.min(Math.max(minFrac,fractionLen),maxFrac):+fractionSize;var roundAt=fractionSize+parsedNumber.i,digit=digits[roundAt];if(roundAt>0){digits.splice(Math.max(parsedNumber.i,roundAt));for(var j=roundAt;j<digits.length;j++)digits[j]=0}else{fractionLen=Math.max(0,fractionLen),parsedNumber.i=1,digits.length=Math.max(1,roundAt=fractionSize+1),digits[0]=0;for(var i=1;i<roundAt;i++)digits[i]=0}if(digit>=5)if(roundAt-1<0){for(var k=0;k>roundAt;k--)digits.unshift(0),parsedNumber.i++;digits.unshift(1),parsedNumber.i++}else digits[roundAt-1]++;for(;fractionLen<Math.max(0,fractionSize);fractionLen++)digits.push(0);var carry=digits.reduceRight(function(carry,d,i,digits){return d+=carry,digits[i]=d%10,Math.floor(d/10)},0);carry&&(digits.unshift(carry),parsedNumber.i++)}function formatNumber(number,pattern,groupSep,decimalSep,fractionSize){if(!isString(number)&&!isNumber(number)||isNaN(number))return"";var parsedNumber,isInfinity=!isFinite(number),isZero=!1,numStr=Math.abs(number)+"",formattedText="";if(isInfinity)formattedText="∞";else{parsedNumber=parse(numStr),roundNumber(parsedNumber,fractionSize,pattern.minFrac,pattern.maxFrac);var digits=parsedNumber.d,integerLen=parsedNumber.i,exponent=parsedNumber.e,decimals=[];for(isZero=digits.reduce(function(isZero,d){return isZero&&!d},!0);integerLen<0;)digits.unshift(0),integerLen++;integerLen>0?decimals=digits.splice(integerLen,digits.length):(decimals=digits,digits=[0]);var groups=[];for(digits.length>=pattern.lgSize&&groups.unshift(digits.splice(-pattern.lgSize,digits.length).join(""));digits.length>pattern.gSize;)groups.unshift(digits.splice(-pattern.gSize,digits.length).join(""));digits.length&&groups.unshift(digits.join("")),formattedText=groups.join(groupSep),decimals.length&&(formattedText+=decimalSep+decimals.join("")),exponent&&(formattedText+="e+"+exponent)}return number<0&&!isZero?pattern.negPre+formattedText+pattern.negSuf:pattern.posPre+formattedText+pattern.posSuf}function padNumber(num,digits,trim,negWrap){var neg="";for((num<0||negWrap&&num<=0)&&(negWrap?num=-num+1:(num=-num,neg="-")),num=""+num;num.length<digits;)num=ZERO_CHAR+num;return trim&&(num=num.substr(num.length-digits)),neg+num}function dateGetter(name,size,offset,trim,negWrap){return offset=offset||0,function(date){var value=date["get"+name]();return(offset>0||value>-offset)&&(value+=offset),0===value&&offset===-12&&(value=12),padNumber(value,size,trim,negWrap)}}function dateStrGetter(name,shortForm,standAlone){return function(date,formats){var value=date["get"+name](),propPrefix=(standAlone?"STANDALONE":"")+(shortForm?"SHORT":""),get=uppercase(propPrefix+name);return formats[get][value]}}function timeZoneGetter(date,formats,offset){var zone=-1*offset,paddedZone=zone>=0?"+":"";return paddedZone+=padNumber(Math[zone>0?"floor":"ceil"](zone/60),2)+padNumber(Math.abs(zone%60),2)}function getFirstThursdayOfYear(year){var dayOfWeekOnFirst=new Date(year,0,1).getDay();return new Date(year,0,(dayOfWeekOnFirst<=4?5:12)-dayOfWeekOnFirst)}function getThursdayThisWeek(datetime){return new Date(datetime.getFullYear(),datetime.getMonth(),datetime.getDate()+(4-datetime.getDay()))}function weekGetter(size){return function(date){var firstThurs=getFirstThursdayOfYear(date.getFullYear()),thisThurs=getThursdayThisWeek(date),diff=+thisThurs-+firstThurs,result=1+Math.round(diff/6048e5);return padNumber(result,size)}}function ampmGetter(date,formats){return date.getHours()<12?formats.AMPMS[0]:formats.AMPMS[1]}function eraGetter(date,formats){return date.getFullYear()<=0?formats.ERAS[0]:formats.ERAS[1]}function longEraGetter(date,formats){return date.getFullYear()<=0?formats.ERANAMES[0]:formats.ERANAMES[1]}function dateFilter($locale){function jsonStringToDate(string){var match;if(match=string.match(R_ISO8601_STR)){var date=new Date(0),tzHour=0,tzMin=0,dateSetter=match[8]?date.setUTCFullYear:date.setFullYear,timeSetter=match[8]?date.setUTCHours:date.setHours;match[9]&&(tzHour=toInt(match[9]+match[10]),tzMin=toInt(match[9]+match[11])),dateSetter.call(date,toInt(match[1]),toInt(match[2])-1,toInt(match[3]));var h=toInt(match[4]||0)-tzHour,m=toInt(match[5]||0)-tzMin,s=toInt(match[6]||0),ms=Math.round(1e3*parseFloat("0."+(match[7]||0)));return timeSetter.call(date,h,m,s,ms),date}return string}var R_ISO8601_STR=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(date,format,timezone){var fn,match,text="",parts=[];if(format=format||"mediumDate",format=$locale.DATETIME_FORMATS[format]||format,isString(date)&&(date=NUMBER_STRING.test(date)?toInt(date):jsonStringToDate(date)),isNumber(date)&&(date=new Date(date)),!isDate(date)||!isFinite(date.getTime()))return date;for(;format;)match=DATE_FORMATS_SPLIT.exec(format),match?(parts=concat(parts,match,1),format=parts.pop()):(parts.push(format),format=null);var dateTimezoneOffset=date.getTimezoneOffset();return timezone&&(dateTimezoneOffset=timezoneToOffset(timezone,dateTimezoneOffset),date=convertTimezoneToLocal(date,timezone,!0)),forEach(parts,function(value){fn=DATE_FORMATS[value],text+=fn?fn(date,$locale.DATETIME_FORMATS,dateTimezoneOffset):"''"===value?"'":value.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),text}}function jsonFilter(){return function(object,spacing){return isUndefined(spacing)&&(spacing=2),toJson(object,spacing)}}function limitToFilter(){return function(input,limit,begin){return limit=Math.abs(Number(limit))===1/0?Number(limit):toInt(limit),isNumberNaN(limit)?input:(isNumber(input)&&(input=input.toString()),isArrayLike(input)?(begin=!begin||isNaN(begin)?0:toInt(begin),begin=begin<0?Math.max(0,input.length+begin):begin,limit>=0?sliceFn(input,begin,begin+limit):0===begin?sliceFn(input,limit,input.length):sliceFn(input,Math.max(0,begin+limit),begin)):input)}}function sliceFn(input,begin,end){return isString(input)?input.slice(begin,end):slice.call(input,begin,end)}function orderByFilter($parse){function processPredicates(sortPredicates){return sortPredicates.map(function(predicate){var descending=1,get=identity;if(isFunction(predicate))get=predicate;else if(isString(predicate)&&("+"!==predicate.charAt(0)&&"-"!==predicate.charAt(0)||(descending="-"===predicate.charAt(0)?-1:1,predicate=predicate.substring(1)),""!==predicate&&(get=$parse(predicate),get.constant))){var key=get();get=function(value){return value[key]}}return{get:get,descending:descending}})}function isPrimitive(value){switch(typeof value){case"number":case"boolean":case"string":return!0;default:return!1}}function objectValue(value){return isFunction(value.valueOf)&&(value=value.valueOf(),isPrimitive(value))?value:hasCustomToString(value)&&(value=value.toString(),isPrimitive(value))?value:value}function getPredicateValue(value,index){var type=typeof value;return null===value?(type="string",value="null"):"object"===type&&(value=objectValue(value)),{value:value,type:type,index:index}}function defaultCompare(v1,v2){var result=0,type1=v1.type,type2=v2.type;if(type1===type2){var value1=v1.value,value2=v2.value;"string"===type1?(value1=value1.toLowerCase(),value2=value2.toLowerCase()):"object"===type1&&(isObject(value1)&&(value1=v1.index),isObject(value2)&&(value2=v2.index)),value1!==value2&&(result=value1<value2?-1:1)}else result=type1<type2?-1:1;return result}return function(array,sortPredicate,reverseOrder,compareFn){function getComparisonObject(value,index){return{value:value,tieBreaker:{value:index,type:"number",index:index},predicateValues:predicates.map(function(predicate){return getPredicateValue(predicate.get(value),index)})}}function doComparison(v1,v2){for(var i=0,ii=predicates.length;i<ii;i++){var result=compare(v1.predicateValues[i],v2.predicateValues[i]);if(result)return result*predicates[i].descending*descending}return compare(v1.tieBreaker,v2.tieBreaker)*descending}if(null==array)return array;if(!isArrayLike(array))throw minErr("orderBy")("notarray","Expected array but received: {0}",array);isArray(sortPredicate)||(sortPredicate=[sortPredicate]),0===sortPredicate.length&&(sortPredicate=["+"]);var predicates=processPredicates(sortPredicate),descending=reverseOrder?-1:1,compare=isFunction(compareFn)?compareFn:defaultCompare,compareValues=Array.prototype.map.call(array,getComparisonObject);return compareValues.sort(doComparison),array=compareValues.map(function(item){return item.value})}}function ngDirective(directive){return isFunction(directive)&&(directive={link:directive}),directive.restrict=directive.restrict||"AC",valueFn(directive)}function nullFormRenameControl(control,name){control.$name=name}function FormController($element,$attrs,$scope,$animate,$interpolate){this.$$controls=[],this.$error={},this.$$success={},this.$pending=void 0,this.$name=$interpolate($attrs.name||$attrs.ngForm||"")($scope),this.$dirty=!1,this.$pristine=!0,this.$valid=!0,this.$invalid=!1,this.$submitted=!1,this.$$parentForm=nullFormCtrl,this.$$element=$element,this.$$animate=$animate,setupValidity(this)}function setupValidity(instance){instance.$$classCache={},instance.$$classCache[INVALID_CLASS]=!(instance.$$classCache[VALID_CLASS]=instance.$$element.hasClass(VALID_CLASS))}function addSetValidityMethod(context){function createAndSet(ctrl,name,value,controller){ctrl[name]||(ctrl[name]={}),set(ctrl[name],value,controller)}function unsetAndCleanup(ctrl,name,value,controller){ctrl[name]&&unset(ctrl[name],value,controller),isObjectEmpty(ctrl[name])&&(ctrl[name]=void 0)}function cachedToggleClass(ctrl,className,switchValue){switchValue&&!ctrl.$$classCache[className]?(ctrl.$$animate.addClass(ctrl.$$element,className),ctrl.$$classCache[className]=!0):!switchValue&&ctrl.$$classCache[className]&&(ctrl.$$animate.removeClass(ctrl.$$element,className),ctrl.$$classCache[className]=!1)}function toggleValidationCss(ctrl,validationErrorKey,isValid){validationErrorKey=validationErrorKey?"-"+snake_case(validationErrorKey,"-"):"",cachedToggleClass(ctrl,VALID_CLASS+validationErrorKey,isValid===!0),cachedToggleClass(ctrl,INVALID_CLASS+validationErrorKey,isValid===!1)}var clazz=context.clazz,set=context.set,unset=context.unset;clazz.prototype.$setValidity=function(validationErrorKey,state,controller){isUndefined(state)?createAndSet(this,"$pending",validationErrorKey,controller):unsetAndCleanup(this,"$pending",validationErrorKey,controller),isBoolean(state)?state?(unset(this.$error,validationErrorKey,controller),set(this.$$success,validationErrorKey,controller)):(set(this.$error,validationErrorKey,controller),unset(this.$$success,validationErrorKey,controller)):(unset(this.$error,validationErrorKey,controller),unset(this.$$success,validationErrorKey,controller)),this.$pending?(cachedToggleClass(this,PENDING_CLASS,!0),this.$valid=this.$invalid=void 0,toggleValidationCss(this,"",null)):(cachedToggleClass(this,PENDING_CLASS,!1),this.$valid=isObjectEmpty(this.$error),this.$invalid=!this.$valid,toggleValidationCss(this,"",this.$valid));var combinedState;combinedState=this.$pending&&this.$pending[validationErrorKey]?void 0:!this.$error[validationErrorKey]&&(!!this.$$success[validationErrorKey]||null),toggleValidationCss(this,validationErrorKey,combinedState),this.$$parentForm.$setValidity(validationErrorKey,combinedState,this)}}function isObjectEmpty(obj){if(obj)for(var prop in obj)if(obj.hasOwnProperty(prop))return!1;return!0}function stringBasedInputType(ctrl){ctrl.$formatters.push(function(value){return ctrl.$isEmpty(value)?value:value.toString()})}function textInputType(scope,element,attr,ctrl,$sniffer,$browser){baseInputType(scope,element,attr,ctrl,$sniffer,$browser),stringBasedInputType(ctrl)}function baseInputType(scope,element,attr,ctrl,$sniffer,$browser){var type=lowercase(element[0].type);if(!$sniffer.android){var composing=!1;element.on("compositionstart",function(){composing=!0}),element.on("compositionend",function(){composing=!1,listener()})}var timeout,listener=function(ev){if(timeout&&($browser.defer.cancel(timeout),timeout=null),!composing){var value=element.val(),event=ev&&ev.type;"password"===type||attr.ngTrim&&"false"===attr.ngTrim||(value=trim(value)),(ctrl.$viewValue!==value||""===value&&ctrl.$$hasNativeValidators)&&ctrl.$setViewValue(value,event)}};if($sniffer.hasEvent("input"))element.on("input",listener);else{var deferListener=function(ev,input,origValue){timeout||(timeout=$browser.defer(function(){timeout=null,input&&input.value===origValue||listener(ev)}))};element.on("keydown",function(event){var key=event.keyCode;91===key||15<key&&key<19||37<=key&&key<=40||deferListener(event,this,this.value)}),$sniffer.hasEvent("paste")&&element.on("paste cut",deferListener)}element.on("change",listener),PARTIAL_VALIDATION_TYPES[type]&&ctrl.$$hasNativeValidators&&type===attr.type&&element.on(PARTIAL_VALIDATION_EVENTS,function(ev){if(!timeout){var validity=this[VALIDITY_STATE_PROPERTY],origBadInput=validity.badInput,origTypeMismatch=validity.typeMismatch;timeout=$browser.defer(function(){timeout=null,validity.badInput===origBadInput&&validity.typeMismatch===origTypeMismatch||listener(ev)})}}),ctrl.$render=function(){var value=ctrl.$isEmpty(ctrl.$viewValue)?"":ctrl.$viewValue;element.val()!==value&&element.val(value)}}function weekParser(isoWeek,existingDate){if(isDate(isoWeek))return isoWeek;if(isString(isoWeek)){WEEK_REGEXP.lastIndex=0;var parts=WEEK_REGEXP.exec(isoWeek);if(parts){var year=+parts[1],week=+parts[2],hours=0,minutes=0,seconds=0,milliseconds=0,firstThurs=getFirstThursdayOfYear(year),addDays=7*(week-1);return existingDate&&(hours=existingDate.getHours(),minutes=existingDate.getMinutes(),seconds=existingDate.getSeconds(),milliseconds=existingDate.getMilliseconds()),new Date(year,0,firstThurs.getDate()+addDays,hours,minutes,seconds,milliseconds)}}return NaN}function createDateParser(regexp,mapping){return function(iso,date){var parts,map;if(isDate(iso))return iso;if(isString(iso)){if('"'===iso.charAt(0)&&'"'===iso.charAt(iso.length-1)&&(iso=iso.substring(1,iso.length-1)),ISO_DATE_REGEXP.test(iso))return new Date(iso);if(regexp.lastIndex=0,parts=regexp.exec(iso))return parts.shift(),map=date?{yyyy:date.getFullYear(),MM:date.getMonth()+1,dd:date.getDate(),HH:date.getHours(),mm:date.getMinutes(),ss:date.getSeconds(),sss:date.getMilliseconds()/1e3}:{yyyy:1970,MM:1,dd:1,HH:0,mm:0,ss:0,sss:0},forEach(parts,function(part,index){index<mapping.length&&(map[mapping[index]]=+part)}),new Date(map.yyyy,map.MM-1,map.dd,map.HH,map.mm,map.ss||0,1e3*map.sss||0)}return NaN}}function createDateInputType(type,regexp,parseDate,format){return function(scope,element,attr,ctrl,$sniffer,$browser,$filter){function isValidDate(value){return value&&!(value.getTime&&value.getTime()!==value.getTime())}function parseObservedDateValue(val){return isDefined(val)&&!isDate(val)?parseDate(val)||void 0:val}badInputChecker(scope,element,attr,ctrl),baseInputType(scope,element,attr,ctrl,$sniffer,$browser);var previousDate,timezone=ctrl&&ctrl.$options.getOption("timezone");if(ctrl.$$parserName=type,ctrl.$parsers.push(function(value){if(ctrl.$isEmpty(value))return null;if(regexp.test(value)){var parsedDate=parseDate(value,previousDate);return timezone&&(parsedDate=convertTimezoneToLocal(parsedDate,timezone)),parsedDate}}),ctrl.$formatters.push(function(value){if(value&&!isDate(value))throw ngModelMinErr("datefmt","Expected `{0}` to be a date",value);return isValidDate(value)?(previousDate=value,previousDate&&timezone&&(previousDate=convertTimezoneToLocal(previousDate,timezone,!0)),$filter("date")(value,format,timezone)):(previousDate=null,"")}),isDefined(attr.min)||attr.ngMin){var minVal;ctrl.$validators.min=function(value){return!isValidDate(value)||isUndefined(minVal)||parseDate(value)>=minVal},attr.$observe("min",function(val){minVal=parseObservedDateValue(val),ctrl.$validate()})}if(isDefined(attr.max)||attr.ngMax){var maxVal;ctrl.$validators.max=function(value){return!isValidDate(value)||isUndefined(maxVal)||parseDate(value)<=maxVal},attr.$observe("max",function(val){maxVal=parseObservedDateValue(val),ctrl.$validate()})}}}function badInputChecker(scope,element,attr,ctrl){var node=element[0],nativeValidation=ctrl.$$hasNativeValidators=isObject(node.validity);nativeValidation&&ctrl.$parsers.push(function(value){var validity=element.prop(VALIDITY_STATE_PROPERTY)||{};return validity.badInput||validity.typeMismatch?void 0:value})}function numberFormatterParser(ctrl){ctrl.$$parserName="number",ctrl.$parsers.push(function(value){return ctrl.$isEmpty(value)?null:NUMBER_REGEXP.test(value)?parseFloat(value):void 0}),ctrl.$formatters.push(function(value){if(!ctrl.$isEmpty(value)){if(!isNumber(value))throw ngModelMinErr("numfmt","Expected `{0}` to be a number",value);value=value.toString()}return value})}function parseNumberAttrVal(val){return isDefined(val)&&!isNumber(val)&&(val=parseFloat(val)),isNumberNaN(val)?void 0:val}function isNumberInteger(num){return(0|num)===num}function countDecimals(num){var numString=num.toString(),decimalSymbolIndex=numString.indexOf(".");if(decimalSymbolIndex===-1){if(-1<num&&num<1){var match=/e-(\d+)$/.exec(numString);if(match)return Number(match[1])}return 0}return numString.length-decimalSymbolIndex-1}function isValidForStep(viewValue,stepBase,step){var value=Number(viewValue),isNonIntegerValue=!isNumberInteger(value),isNonIntegerStepBase=!isNumberInteger(stepBase),isNonIntegerStep=!isNumberInteger(step);if(isNonIntegerValue||isNonIntegerStepBase||isNonIntegerStep){var valueDecimals=isNonIntegerValue?countDecimals(value):0,stepBaseDecimals=isNonIntegerStepBase?countDecimals(stepBase):0,stepDecimals=isNonIntegerStep?countDecimals(step):0,decimalCount=Math.max(valueDecimals,stepBaseDecimals,stepDecimals),multiplier=Math.pow(10,decimalCount);value*=multiplier,stepBase*=multiplier,step*=multiplier,isNonIntegerValue&&(value=Math.round(value)),isNonIntegerStepBase&&(stepBase=Math.round(stepBase)),isNonIntegerStep&&(step=Math.round(step))}return(value-stepBase)%step===0}function numberInputType(scope,element,attr,ctrl,$sniffer,$browser){badInputChecker(scope,element,attr,ctrl),numberFormatterParser(ctrl),baseInputType(scope,element,attr,ctrl,$sniffer,$browser);var minVal,maxVal;if((isDefined(attr.min)||attr.ngMin)&&(ctrl.$validators.min=function(value){return ctrl.$isEmpty(value)||isUndefined(minVal)||value>=minVal},attr.$observe("min",function(val){minVal=parseNumberAttrVal(val),ctrl.$validate()})),(isDefined(attr.max)||attr.ngMax)&&(ctrl.$validators.max=function(value){return ctrl.$isEmpty(value)||isUndefined(maxVal)||value<=maxVal},attr.$observe("max",function(val){maxVal=parseNumberAttrVal(val),ctrl.$validate()})),isDefined(attr.step)||attr.ngStep){var stepVal;ctrl.$validators.step=function(modelValue,viewValue){return ctrl.$isEmpty(viewValue)||isUndefined(stepVal)||isValidForStep(viewValue,minVal||0,stepVal)},attr.$observe("step",function(val){stepVal=parseNumberAttrVal(val),ctrl.$validate()})}}function rangeInputType(scope,element,attr,ctrl,$sniffer,$browser){function setInitialValueAndObserver(htmlAttrName,changeFn){element.attr(htmlAttrName,attr[htmlAttrName]),attr.$observe(htmlAttrName,changeFn)}function minChange(val){if(minVal=parseNumberAttrVal(val),!isNumberNaN(ctrl.$modelValue))if(supportsRange){var elVal=element.val();minVal>elVal&&(elVal=minVal,element.val(elVal)),ctrl.$setViewValue(elVal)}else ctrl.$validate()}function maxChange(val){if(maxVal=parseNumberAttrVal(val),!isNumberNaN(ctrl.$modelValue))if(supportsRange){var elVal=element.val();maxVal<elVal&&(element.val(maxVal),elVal=maxVal<minVal?minVal:maxVal),ctrl.$setViewValue(elVal)}else ctrl.$validate()}function stepChange(val){stepVal=parseNumberAttrVal(val),isNumberNaN(ctrl.$modelValue)||(supportsRange&&ctrl.$viewValue!==element.val()?ctrl.$setViewValue(element.val()):ctrl.$validate())}badInputChecker(scope,element,attr,ctrl),numberFormatterParser(ctrl),baseInputType(scope,element,attr,ctrl,$sniffer,$browser);var supportsRange=ctrl.$$hasNativeValidators&&"range"===element[0].type,minVal=supportsRange?0:void 0,maxVal=supportsRange?100:void 0,stepVal=supportsRange?1:void 0,validity=element[0].validity,hasMinAttr=isDefined(attr.min),hasMaxAttr=isDefined(attr.max),hasStepAttr=isDefined(attr.step),originalRender=ctrl.$render;ctrl.$render=supportsRange&&isDefined(validity.rangeUnderflow)&&isDefined(validity.rangeOverflow)?function(){originalRender(),ctrl.$setViewValue(element.val())}:originalRender,hasMinAttr&&(ctrl.$validators.min=supportsRange?function(){return!0}:function(modelValue,viewValue){return ctrl.$isEmpty(viewValue)||isUndefined(minVal)||viewValue>=minVal},setInitialValueAndObserver("min",minChange)),hasMaxAttr&&(ctrl.$validators.max=supportsRange?function(){return!0}:function(modelValue,viewValue){return ctrl.$isEmpty(viewValue)||isUndefined(maxVal)||viewValue<=maxVal},setInitialValueAndObserver("max",maxChange)),hasStepAttr&&(ctrl.$validators.step=supportsRange?function(){return!validity.stepMismatch}:function(modelValue,viewValue){
+return ctrl.$isEmpty(viewValue)||isUndefined(stepVal)||isValidForStep(viewValue,minVal||0,stepVal)},setInitialValueAndObserver("step",stepChange))}function urlInputType(scope,element,attr,ctrl,$sniffer,$browser){baseInputType(scope,element,attr,ctrl,$sniffer,$browser),stringBasedInputType(ctrl),ctrl.$$parserName="url",ctrl.$validators.url=function(modelValue,viewValue){var value=modelValue||viewValue;return ctrl.$isEmpty(value)||URL_REGEXP.test(value)}}function emailInputType(scope,element,attr,ctrl,$sniffer,$browser){baseInputType(scope,element,attr,ctrl,$sniffer,$browser),stringBasedInputType(ctrl),ctrl.$$parserName="email",ctrl.$validators.email=function(modelValue,viewValue){var value=modelValue||viewValue;return ctrl.$isEmpty(value)||EMAIL_REGEXP.test(value)}}function radioInputType(scope,element,attr,ctrl){var doTrim=!attr.ngTrim||"false"!==trim(attr.ngTrim);isUndefined(attr.name)&&element.attr("name",nextUid());var listener=function(ev){var value;element[0].checked&&(value=attr.value,doTrim&&(value=trim(value)),ctrl.$setViewValue(value,ev&&ev.type))};element.on("click",listener),ctrl.$render=function(){var value=attr.value;doTrim&&(value=trim(value)),element[0].checked=value===ctrl.$viewValue},attr.$observe("value",ctrl.$render)}function parseConstantExpr($parse,context,name,expression,fallback){var parseFn;if(isDefined(expression)){if(parseFn=$parse(expression),!parseFn.constant)throw ngModelMinErr("constexpr","Expected constant expression for `{0}`, but saw `{1}`.",name,expression);return parseFn(context)}return fallback}function checkboxInputType(scope,element,attr,ctrl,$sniffer,$browser,$filter,$parse){var trueValue=parseConstantExpr($parse,scope,"ngTrueValue",attr.ngTrueValue,!0),falseValue=parseConstantExpr($parse,scope,"ngFalseValue",attr.ngFalseValue,!1),listener=function(ev){ctrl.$setViewValue(element[0].checked,ev&&ev.type)};element.on("click",listener),ctrl.$render=function(){element[0].checked=ctrl.$viewValue},ctrl.$isEmpty=function(value){return value===!1},ctrl.$formatters.push(function(value){return equals(value,trueValue)}),ctrl.$parsers.push(function(value){return value?trueValue:falseValue})}function classDirective(name,selector){function arrayDifference(tokens1,tokens2){if(!tokens1||!tokens1.length)return[];if(!tokens2||!tokens2.length)return tokens1;var values=[];outer:for(var i=0;i<tokens1.length;i++){for(var token=tokens1[i],j=0;j<tokens2.length;j++)if(token===tokens2[j])continue outer;values.push(token)}return values}function split(classString){return classString&&classString.split(" ")}function toClassString(classValue){var classString=classValue;return isArray(classValue)?classString=classValue.map(toClassString).join(" "):isObject(classValue)&&(classString=Object.keys(classValue).filter(function(key){return classValue[key]}).join(" ")),classString}function toFlatValue(classValue){var flatValue=classValue;if(isArray(classValue))flatValue=classValue.map(toFlatValue);else if(isObject(classValue)){var hasUndefined=!1;flatValue=Object.keys(classValue).filter(function(key){var value=classValue[key];return!hasUndefined&&isUndefined(value)&&(hasUndefined=!0),value}),hasUndefined&&flatValue.push(void 0)}return flatValue}name="ngClass"+name;var indexWatchExpression;return["$parse",function($parse){return{restrict:"AC",link:function(scope,element,attr){function addClasses(classString){classString=digestClassCounts(split(classString),1),attr.$addClass(classString)}function removeClasses(classString){classString=digestClassCounts(split(classString),-1),attr.$removeClass(classString)}function updateClasses(oldClassString,newClassString){var oldClassArray=split(oldClassString),newClassArray=split(newClassString),toRemoveArray=arrayDifference(oldClassArray,newClassArray),toAddArray=arrayDifference(newClassArray,oldClassArray),toRemoveString=digestClassCounts(toRemoveArray,-1),toAddString=digestClassCounts(toAddArray,1);attr.$addClass(toAddString),attr.$removeClass(toRemoveString)}function digestClassCounts(classArray,count){var classesToUpdate=[];return forEach(classArray,function(className){(count>0||classCounts[className])&&(classCounts[className]=(classCounts[className]||0)+count,classCounts[className]===+(count>0)&&classesToUpdate.push(className))}),classesToUpdate.join(" ")}function ngClassIndexWatchAction(newModulo){newModulo===selector?addClasses(oldClassString):removeClasses(oldClassString),oldModulo=newModulo}function ngClassOneTimeWatchAction(newClassValue){var newClassString=toClassString(newClassValue);newClassString!==oldClassString&&ngClassWatchAction(newClassString)}function ngClassWatchAction(newClassString){oldModulo===selector&&updateClasses(oldClassString,newClassString),oldClassString=newClassString}var oldClassString,expression=attr[name].trim(),isOneTime=":"===expression.charAt(0)&&":"===expression.charAt(1),watchInterceptor=isOneTime?toFlatValue:toClassString,watchExpression=$parse(expression,watchInterceptor),watchAction=isOneTime?ngClassOneTimeWatchAction:ngClassWatchAction,classCounts=element.data("$classCounts"),oldModulo=!0;classCounts||(classCounts=createMap(),element.data("$classCounts",classCounts)),"ngClass"!==name&&(indexWatchExpression||(indexWatchExpression=$parse("$index",function($index){return 1&$index})),scope.$watch(indexWatchExpression,ngClassIndexWatchAction)),scope.$watch(watchExpression,watchAction,isOneTime)}}}]}function NgModelController($scope,$exceptionHandler,$attr,$element,$parse,$animate,$timeout,$q,$interpolate){this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$$rawModelValue=void 0,this.$validators={},this.$asyncValidators={},this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$untouched=!0,this.$touched=!1,this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$error={},this.$$success={},this.$pending=void 0,this.$name=$interpolate($attr.name||"",!1)($scope),this.$$parentForm=nullFormCtrl,this.$options=defaultModelOptions,this.$$parsedNgModel=$parse($attr.ngModel),this.$$parsedNgModelAssign=this.$$parsedNgModel.assign,this.$$ngModelGet=this.$$parsedNgModel,this.$$ngModelSet=this.$$parsedNgModelAssign,this.$$pendingDebounce=null,this.$$parserValid=void 0,this.$$currentValidationRunId=0,this.$$scope=$scope,this.$$attr=$attr,this.$$element=$element,this.$$animate=$animate,this.$$timeout=$timeout,this.$$parse=$parse,this.$$q=$q,this.$$exceptionHandler=$exceptionHandler,setupValidity(this),setupModelWatcher(this)}function setupModelWatcher(ctrl){ctrl.$$scope.$watch(function(){var modelValue=ctrl.$$ngModelGet(ctrl.$$scope);if(modelValue!==ctrl.$modelValue&&(ctrl.$modelValue===ctrl.$modelValue||modelValue===modelValue)){ctrl.$modelValue=ctrl.$$rawModelValue=modelValue,ctrl.$$parserValid=void 0;for(var formatters=ctrl.$formatters,idx=formatters.length,viewValue=modelValue;idx--;)viewValue=formatters[idx](viewValue);ctrl.$viewValue!==viewValue&&(ctrl.$$updateEmptyClasses(viewValue),ctrl.$viewValue=ctrl.$$lastCommittedViewValue=viewValue,ctrl.$render(),ctrl.$$runValidators(ctrl.$modelValue,ctrl.$viewValue,noop))}return modelValue})}function ModelOptions(options){this.$$options=options}function defaults(dst,src){forEach(src,function(value,key){isDefined(dst[key])||(dst[key]=value)})}function setOptionSelectedStatus(optionEl,value){optionEl.prop("selected",value),optionEl.attr("selected",value)}var REGEX_STRING_REGEXP=/^\/(.+)\/([a-z]*)$/,VALIDITY_STATE_PROPERTY="validity",hasOwnProperty=Object.prototype.hasOwnProperty,minErrConfig={objectMaxDepth:5},lowercase=function(string){return isString(string)?string.toLowerCase():string},uppercase=function(string){return isString(string)?string.toUpperCase():string},manualLowercase=function(s){return isString(s)?s.replace(/[A-Z]/g,function(ch){return String.fromCharCode(32|ch.charCodeAt(0))}):s},manualUppercase=function(s){return isString(s)?s.replace(/[a-z]/g,function(ch){return String.fromCharCode(ch.charCodeAt(0)&-33)}):s};"i"!=="I".toLowerCase()&&(lowercase=manualLowercase,uppercase=manualUppercase);var msie,jqLite,jQuery,angularModule,slice=[].slice,splice=[].splice,push=[].push,toString=Object.prototype.toString,getPrototypeOf=Object.getPrototypeOf,ngMinErr=minErr("ng"),angular=window.angular||(window.angular={}),uid=0;msie=window.document.documentMode;var isNumberNaN=Number.isNaN||function(num){return num!==num};noop.$inject=[],identity.$inject=[];var isArray=Array.isArray,TYPED_ARRAY_REGEXP=/^\[object (?:Uint8|Uint8Clamped|Uint16|Uint32|Int8|Int16|Int32|Float32|Float64)Array]$/,trim=function(value){return isString(value)?value.trim():value},escapeForRegexp=function(s){return s.replace(/([-()[\]{}+?*.$^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")},csp=function(){function noUnsafeEval(){try{return new Function(""),!1}catch(e){return!0}}if(!isDefined(csp.rules)){var ngCspElement=window.document.querySelector("[ng-csp]")||window.document.querySelector("[data-ng-csp]");if(ngCspElement){var ngCspAttribute=ngCspElement.getAttribute("ng-csp")||ngCspElement.getAttribute("data-ng-csp");csp.rules={noUnsafeEval:!ngCspAttribute||ngCspAttribute.indexOf("no-unsafe-eval")!==-1,noInlineStyle:!ngCspAttribute||ngCspAttribute.indexOf("no-inline-style")!==-1}}else csp.rules={noUnsafeEval:noUnsafeEval(),noInlineStyle:!1}}return csp.rules},jq=function(){if(isDefined(jq.name_))return jq.name_;var el,i,prefix,name,ii=ngAttrPrefixes.length;for(i=0;i<ii;++i)if(prefix=ngAttrPrefixes[i],el=window.document.querySelector("["+prefix.replace(":","\\:")+"jq]")){name=el.getAttribute(prefix+"jq");break}return jq.name_=name},ALL_COLONS=/:/g,ngAttrPrefixes=["ng-","data-ng-","ng:","x-ng-"],isAutoBootstrapAllowed=allowAutoBootstrap(window.document),SNAKE_CASE_REGEXP=/[A-Z]/g,bindJQueryFired=!1,NODE_TYPE_ELEMENT=1,NODE_TYPE_ATTRIBUTE=2,NODE_TYPE_TEXT=3,NODE_TYPE_COMMENT=8,NODE_TYPE_DOCUMENT=9,NODE_TYPE_DOCUMENT_FRAGMENT=11,version={full:"1.6.3",major:1,minor:6,dot:3,codeName:"scriptalicious-bootstrapping"};JQLite.expando="ng339";var jqCache=JQLite.cache={},jqId=1;JQLite._data=function(node){return this.cache[node[this.expando]]||{}};var DASH_LOWERCASE_REGEXP=/-([a-z])/g,MS_HACK_REGEXP=/^-ms-/,MOUSE_EVENT_MAP={mouseleave:"mouseout",mouseenter:"mouseover"},jqLiteMinErr=minErr("jqLite"),SINGLE_TAG_REGEXP=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,HTML_REGEXP=/<|&#?\w+;/,TAG_NAME_REGEXP=/<([\w:-]+)/,XHTML_TAG_REGEXP=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,wrapMap={option:[1,'<select multiple="multiple">',"</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};wrapMap.optgroup=wrapMap.option,wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead,wrapMap.th=wrapMap.td;var jqLiteContains=window.Node.prototype.contains||function(arg){return!!(16&this.compareDocumentPosition(arg))},JQLitePrototype=JQLite.prototype={ready:jqLiteReady,toString:function(){var value=[];return forEach(this,function(e){value.push(""+e)}),"["+value.join(", ")+"]"},eq:function(index){return jqLite(index>=0?this[index]:this[this.length+index])},length:0,push:push,sort:[].sort,splice:[].splice},BOOLEAN_ATTR={};forEach("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(value){BOOLEAN_ATTR[lowercase(value)]=value});var BOOLEAN_ELEMENTS={};forEach("input,select,option,textarea,button,form,details".split(","),function(value){BOOLEAN_ELEMENTS[value]=!0});var ALIASED_ATTR={ngMinlength:"minlength",ngMaxlength:"maxlength",ngMin:"min",ngMax:"max",ngPattern:"pattern",ngStep:"step"};forEach({data:jqLiteData,removeData:jqLiteRemoveData,hasData:jqLiteHasData,cleanData:jqLiteCleanData},function(fn,name){JQLite[name]=fn}),forEach({data:jqLiteData,inheritedData:jqLiteInheritedData,scope:function(element){return jqLite.data(element,"$scope")||jqLiteInheritedData(element.parentNode||element,["$isolateScope","$scope"])},isolateScope:function(element){return jqLite.data(element,"$isolateScope")||jqLite.data(element,"$isolateScopeNoTemplate")},controller:jqLiteController,injector:function(element){return jqLiteInheritedData(element,"$injector")},removeAttr:function(element,name){element.removeAttribute(name)},hasClass:jqLiteHasClass,css:function(element,name,value){return name=cssKebabToCamel(name),isDefined(value)?void(element.style[name]=value):element.style[name]},attr:function(element,name,value){var ret,nodeType=element.nodeType;if(nodeType!==NODE_TYPE_TEXT&&nodeType!==NODE_TYPE_ATTRIBUTE&&nodeType!==NODE_TYPE_COMMENT&&element.getAttribute){var lowercasedName=lowercase(name),isBooleanAttr=BOOLEAN_ATTR[lowercasedName];return isDefined(value)?void(null===value||value===!1&&isBooleanAttr?element.removeAttribute(name):element.setAttribute(name,isBooleanAttr?lowercasedName:value)):(ret=element.getAttribute(name),isBooleanAttr&&null!==ret&&(ret=lowercasedName),null===ret?void 0:ret)}},prop:function(element,name,value){return isDefined(value)?void(element[name]=value):element[name]},text:function(){function getText(element,value){if(isUndefined(value)){var nodeType=element.nodeType;return nodeType===NODE_TYPE_ELEMENT||nodeType===NODE_TYPE_TEXT?element.textContent:""}element.textContent=value}return getText.$dv="",getText}(),val:function(element,value){if(isUndefined(value)){if(element.multiple&&"select"===nodeName_(element)){var result=[];return forEach(element.options,function(option){option.selected&&result.push(option.value||option.text)}),result}return element.value}element.value=value},html:function(element,value){return isUndefined(value)?element.innerHTML:(jqLiteDealoc(element,!0),void(element.innerHTML=value))},empty:jqLiteEmpty},function(fn,name){JQLite.prototype[name]=function(arg1,arg2){var i,key,nodeCount=this.length;if(fn!==jqLiteEmpty&&isUndefined(2===fn.length&&fn!==jqLiteHasClass&&fn!==jqLiteController?arg1:arg2)){if(isObject(arg1)){for(i=0;i<nodeCount;i++)if(fn===jqLiteData)fn(this[i],arg1);else for(key in arg1)fn(this[i],key,arg1[key]);return this}for(var value=fn.$dv,jj=isUndefined(value)?Math.min(nodeCount,1):nodeCount,j=0;j<jj;j++){var nodeValue=fn(this[j],arg1,arg2);value=value?value+nodeValue:nodeValue}return value}for(i=0;i<nodeCount;i++)fn(this[i],arg1,arg2);return this}}),forEach({removeData:jqLiteRemoveData,on:function(element,type,fn,unsupported){if(isDefined(unsupported))throw jqLiteMinErr("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");if(jqLiteAcceptsData(element)){var expandoStore=jqLiteExpandoStore(element,!0),events=expandoStore.events,handle=expandoStore.handle;handle||(handle=expandoStore.handle=createEventHandler(element,events));for(var types=type.indexOf(" ")>=0?type.split(" "):[type],i=types.length,addHandler=function(type,specialHandlerWrapper,noEventListener){var eventFns=events[type];eventFns||(eventFns=events[type]=[],eventFns.specialHandlerWrapper=specialHandlerWrapper,"$destroy"===type||noEventListener||element.addEventListener(type,handle)),eventFns.push(fn)};i--;)type=types[i],MOUSE_EVENT_MAP[type]?(addHandler(MOUSE_EVENT_MAP[type],specialMouseHandlerWrapper),addHandler(type,void 0,!0)):addHandler(type)}},off:jqLiteOff,one:function(element,type,fn){element=jqLite(element),element.on(type,function onFn(){element.off(type,fn),element.off(type,onFn)}),element.on(type,fn)},replaceWith:function(element,replaceNode){var index,parent=element.parentNode;jqLiteDealoc(element),forEach(new JQLite(replaceNode),function(node){index?parent.insertBefore(node,index.nextSibling):parent.replaceChild(node,element),index=node})},children:function(element){var children=[];return forEach(element.childNodes,function(element){element.nodeType===NODE_TYPE_ELEMENT&&children.push(element)}),children},contents:function(element){return element.contentDocument||element.childNodes||[]},append:function(element,node){var nodeType=element.nodeType;if(nodeType===NODE_TYPE_ELEMENT||nodeType===NODE_TYPE_DOCUMENT_FRAGMENT){node=new JQLite(node);for(var i=0,ii=node.length;i<ii;i++){var child=node[i];element.appendChild(child)}}},prepend:function(element,node){if(element.nodeType===NODE_TYPE_ELEMENT){var index=element.firstChild;forEach(new JQLite(node),function(child){element.insertBefore(child,index)})}},wrap:function(element,wrapNode){jqLiteWrapNode(element,jqLite(wrapNode).eq(0).clone()[0])},remove:jqLiteRemove,detach:function(element){jqLiteRemove(element,!0)},after:function(element,newElement){var index=element,parent=element.parentNode;if(parent){newElement=new JQLite(newElement);for(var i=0,ii=newElement.length;i<ii;i++){var node=newElement[i];parent.insertBefore(node,index.nextSibling),index=node}}},addClass:jqLiteAddClass,removeClass:jqLiteRemoveClass,toggleClass:function(element,selector,condition){selector&&forEach(selector.split(" "),function(className){var classCondition=condition;isUndefined(classCondition)&&(classCondition=!jqLiteHasClass(element,className)),(classCondition?jqLiteAddClass:jqLiteRemoveClass)(element,className)})},parent:function(element){var parent=element.parentNode;return parent&&parent.nodeType!==NODE_TYPE_DOCUMENT_FRAGMENT?parent:null},next:function(element){return element.nextElementSibling},find:function(element,selector){return element.getElementsByTagName?element.getElementsByTagName(selector):[]},clone:jqLiteClone,triggerHandler:function(element,event,extraParameters){var dummyEvent,eventFnsCopy,handlerArgs,eventName=event.type||event,expandoStore=jqLiteExpandoStore(element),events=expandoStore&&expandoStore.events,eventFns=events&&events[eventName];eventFns&&(dummyEvent={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented===!0},stopImmediatePropagation:function(){this.immediatePropagationStopped=!0},isImmediatePropagationStopped:function(){return this.immediatePropagationStopped===!0},stopPropagation:noop,type:eventName,target:element},event.type&&(dummyEvent=extend(dummyEvent,event)),eventFnsCopy=shallowCopy(eventFns),handlerArgs=extraParameters?[dummyEvent].concat(extraParameters):[dummyEvent],forEach(eventFnsCopy,function(fn){dummyEvent.isImmediatePropagationStopped()||fn.apply(element,handlerArgs)}))}},function(fn,name){JQLite.prototype[name]=function(arg1,arg2,arg3){for(var value,i=0,ii=this.length;i<ii;i++)isUndefined(value)?(value=fn(this[i],arg1,arg2,arg3),isDefined(value)&&(value=jqLite(value))):jqLiteAddNodes(value,fn(this[i],arg1,arg2,arg3));return isDefined(value)?value:this}}),JQLite.prototype.bind=JQLite.prototype.on,JQLite.prototype.unbind=JQLite.prototype.off;var nanKey=Object.create(null);NgMapShim.prototype={_idx:function(key){return key===this._lastKey?this._lastIndex:(this._lastKey=key,this._lastIndex=this._keys.indexOf(key),this._lastIndex)},_transformKey:function(key){return isNumberNaN(key)?nanKey:key},get:function(key){key=this._transformKey(key);var idx=this._idx(key);if(idx!==-1)return this._values[idx]},set:function(key,value){key=this._transformKey(key);var idx=this._idx(key);idx===-1&&(idx=this._lastIndex=this._keys.length),this._keys[idx]=key,this._values[idx]=value},"delete":function(key){key=this._transformKey(key);var idx=this._idx(key);return idx!==-1&&(this._keys.splice(idx,1),this._values.splice(idx,1),this._lastKey=NaN,this._lastIndex=-1,!0)}};var NgMap=NgMapShim,$$MapProvider=[function(){this.$get=[function(){return NgMap}]}],ARROW_ARG=/^([^(]+?)=>/,FN_ARGS=/^[^(]*\(\s*([^)]*)\)/m,FN_ARG_SPLIT=/,/,FN_ARG=/^\s*(_?)(\S+?)\1\s*$/,STRIP_COMMENTS=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm,$injectorMinErr=minErr("$injector");createInjector.$$annotate=annotate;var $animateMinErr=minErr("$animate"),ELEMENT_NODE=1,NG_ANIMATE_CLASSNAME="ng-animate",$$CoreAnimateJsProvider=function(){this.$get=noop},$$CoreAnimateQueueProvider=function(){var postDigestQueue=new NgMap,postDigestElements=[];this.$get=["$$AnimateRunner","$rootScope",function($$AnimateRunner,$rootScope){function updateData(data,classes,value){var changed=!1;return classes&&(classes=isString(classes)?classes.split(" "):isArray(classes)?classes:[],forEach(classes,function(className){className&&(changed=!0,data[className]=value)})),changed}function handleCSSClassChanges(){forEach(postDigestElements,function(element){var data=postDigestQueue.get(element);if(data){var existing=splitClasses(element.attr("class")),toAdd="",toRemove="";forEach(data,function(status,className){var hasClass=!!existing[className];status!==hasClass&&(status?toAdd+=(toAdd.length?" ":"")+className:toRemove+=(toRemove.length?" ":"")+className)}),forEach(element,function(elm){toAdd&&jqLiteAddClass(elm,toAdd),toRemove&&jqLiteRemoveClass(elm,toRemove)}),postDigestQueue["delete"](element)}}),postDigestElements.length=0}function addRemoveClassesPostDigest(element,add,remove){var data=postDigestQueue.get(element)||{},classesAdded=updateData(data,add,!0),classesRemoved=updateData(data,remove,!1);(classesAdded||classesRemoved)&&(postDigestQueue.set(element,data),postDigestElements.push(element),1===postDigestElements.length&&$rootScope.$$postDigest(handleCSSClassChanges))}return{enabled:noop,on:noop,off:noop,pin:noop,push:function(element,event,options,domOperation){domOperation&&domOperation(),options=options||{},options.from&&element.css(options.from),options.to&&element.css(options.to),(options.addClass||options.removeClass)&&addRemoveClassesPostDigest(element,options.addClass,options.removeClass);var runner=new $$AnimateRunner;return runner.complete(),runner}}}]},$AnimateProvider=["$provide",function($provide){var provider=this,classNameFilter=null;this.$$registeredAnimations=Object.create(null),this.register=function(name,factory){if(name&&"."!==name.charAt(0))throw $animateMinErr("notcsel","Expecting class selector starting with '.' got '{0}'.",name);var key=name+"-animation";provider.$$registeredAnimations[name.substr(1)]=key,$provide.factory(key,factory)},this.classNameFilter=function(expression){if(1===arguments.length&&(classNameFilter=expression instanceof RegExp?expression:null)){var reservedRegex=new RegExp("[(\\s|\\/)]"+NG_ANIMATE_CLASSNAME+"[(\\s|\\/)]");if(reservedRegex.test(classNameFilter.toString()))throw classNameFilter=null,$animateMinErr("nongcls",'$animateProvider.classNameFilter(regex) prohibits accepting a regex value which matches/contains the "{0}" CSS class.',NG_ANIMATE_CLASSNAME)}return classNameFilter},this.$get=["$$animateQueue",function($$animateQueue){function domInsert(element,parentElement,afterElement){if(afterElement){var afterNode=extractElementNode(afterElement);!afterNode||afterNode.parentNode||afterNode.previousElementSibling||(afterElement=null)}afterElement?afterElement.after(element):parentElement.prepend(element)}return{on:$$animateQueue.on,off:$$animateQueue.off,pin:$$animateQueue.pin,enabled:$$animateQueue.enabled,cancel:function(runner){runner.end&&runner.end()},enter:function(element,parent,after,options){return parent=parent&&jqLite(parent),after=after&&jqLite(after),parent=parent||after.parent(),domInsert(element,parent,after),$$animateQueue.push(element,"enter",prepareAnimateOptions(options))},move:function(element,parent,after,options){return parent=parent&&jqLite(parent),after=after&&jqLite(after),parent=parent||after.parent(),domInsert(element,parent,after),$$animateQueue.push(element,"move",prepareAnimateOptions(options))},leave:function(element,options){return $$animateQueue.push(element,"leave",prepareAnimateOptions(options),function(){element.remove()})},addClass:function(element,className,options){return options=prepareAnimateOptions(options),options.addClass=mergeClasses(options.addclass,className),$$animateQueue.push(element,"addClass",options)},removeClass:function(element,className,options){return options=prepareAnimateOptions(options),options.removeClass=mergeClasses(options.removeClass,className),$$animateQueue.push(element,"removeClass",options)},setClass:function(element,add,remove,options){return options=prepareAnimateOptions(options),options.addClass=mergeClasses(options.addClass,add),options.removeClass=mergeClasses(options.removeClass,remove),$$animateQueue.push(element,"setClass",options)},animate:function(element,from,to,className,options){return options=prepareAnimateOptions(options),options.from=options.from?extend(options.from,from):from,options.to=options.to?extend(options.to,to):to,className=className||"ng-inline-animate",options.tempClasses=mergeClasses(options.tempClasses,className),$$animateQueue.push(element,"animate",options)}}}]}],$$AnimateAsyncRunFactoryProvider=function(){this.$get=["$$rAF",function($$rAF){function waitForTick(fn){waitQueue.push(fn),waitQueue.length>1||$$rAF(function(){for(var i=0;i<waitQueue.length;i++)waitQueue[i]();waitQueue=[]})}var waitQueue=[];return function(){var passed=!1;return waitForTick(function(){passed=!0}),function(callback){passed?callback():waitForTick(callback)}}}]},$$AnimateRunnerFactoryProvider=function(){this.$get=["$q","$sniffer","$$animateAsyncRun","$$isDocumentHidden","$timeout",function($q,$sniffer,$$animateAsyncRun,$$isDocumentHidden,$timeout){function AnimateRunner(host){this.setHost(host);var rafTick=$$animateAsyncRun(),timeoutTick=function(fn){$timeout(fn,0,!1)};this._doneCallbacks=[],this._tick=function(fn){$$isDocumentHidden()?timeoutTick(fn):rafTick(fn)},this._state=0}var INITIAL_STATE=0,DONE_PENDING_STATE=1,DONE_COMPLETE_STATE=2;return AnimateRunner.chain=function(chain,callback){function next(){return index===chain.length?void callback(!0):void chain[index](function(response){return response===!1?void callback(!1):(index++,void next())})}var index=0;next()},AnimateRunner.all=function(runners,callback){function onProgress(response){status=status&&response,++count===runners.length&&callback(status)}var count=0,status=!0;forEach(runners,function(runner){runner.done(onProgress)})},AnimateRunner.prototype={setHost:function(host){this.host=host||{}},done:function(fn){this._state===DONE_COMPLETE_STATE?fn():this._doneCallbacks.push(fn)},progress:noop,getPromise:function(){if(!this.promise){var self=this;this.promise=$q(function(resolve,reject){self.done(function(status){status===!1?reject():resolve()})})}return this.promise},then:function(resolveHandler,rejectHandler){return this.getPromise().then(resolveHandler,rejectHandler)},"catch":function(handler){return this.getPromise()["catch"](handler)},"finally":function(handler){return this.getPromise()["finally"](handler)},pause:function(){this.host.pause&&this.host.pause()},resume:function(){this.host.resume&&this.host.resume()},end:function(){this.host.end&&this.host.end(),this._resolve(!0)},cancel:function(){this.host.cancel&&this.host.cancel(),this._resolve(!1)},complete:function(response){var self=this;self._state===INITIAL_STATE&&(self._state=DONE_PENDING_STATE,self._tick(function(){self._resolve(response)}))},_resolve:function(response){this._state!==DONE_COMPLETE_STATE&&(forEach(this._doneCallbacks,function(fn){fn(response)}),this._doneCallbacks.length=0,this._state=DONE_COMPLETE_STATE)}},AnimateRunner}]},$CoreAnimateCssProvider=function(){this.$get=["$$rAF","$q","$$AnimateRunner",function($$rAF,$q,$$AnimateRunner){return function(element,initialOptions){function run(){return $$rAF(function(){applyAnimationContents(),closed||runner.complete(),closed=!0}),runner}function applyAnimationContents(){options.addClass&&(element.addClass(options.addClass),options.addClass=null),options.removeClass&&(element.removeClass(options.removeClass),options.removeClass=null),options.to&&(element.css(options.to),options.to=null)}var options=initialOptions||{};options.$$prepared||(options=copy(options)),options.cleanupStyles&&(options.from=options.to=null),options.from&&(element.css(options.from),options.from=null);var closed,runner=new $$AnimateRunner;return{start:run,end:run}}}]},$compileMinErr=minErr("$compile"),_UNINITIALIZED_VALUE=new UNINITIALIZED_VALUE;$CompileProvider.$inject=["$provide","$$sanitizeUriProvider"],SimpleChange.prototype.isFirstChange=function(){return this.previousValue===_UNINITIALIZED_VALUE};var PREFIX_REGEXP=/^((?:x|data)[:\-_])/i,SPECIAL_CHARS_REGEXP=/[:\-_]+(.)/g,$controllerMinErr=minErr("$controller"),CNTRL_REG=/^(\S+)(\s+as\s+([\w$]+))?$/,$$ForceReflowProvider=function(){this.$get=["$document",function($document){return function(domNode){return domNode?!domNode.nodeType&&domNode instanceof jqLite&&(domNode=domNode[0]):domNode=$document[0].body,domNode.offsetWidth+1}}]},APPLICATION_JSON="application/json",CONTENT_TYPE_APPLICATION_JSON={"Content-Type":APPLICATION_JSON+";charset=utf-8"},JSON_START=/^\[|^\{(?!\{)/,JSON_ENDS={"[":/]$/,"{":/}$/},JSON_PROTECTION_PREFIX=/^\)]\}',?\n/,$httpMinErr=minErr("$http"),$interpolateMinErr=angular.$interpolateMinErr=minErr("$interpolate");$interpolateMinErr.throwNoconcat=function(text){throw $interpolateMinErr("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",text)},$interpolateMinErr.interr=function(text,err){return $interpolateMinErr("interr","Can't interpolate: {0}\n{1}",text,err.toString())};var $jsonpCallbacksProvider=function(){this.$get=function(){function createCallback(callbackId){var callback=function(data){callback.data=data,callback.called=!0};return callback.id=callbackId,callback}var callbacks=angular.callbacks,callbackMap={};return{createCallback:function(url){var callbackId="_"+(callbacks.$$counter++).toString(36),callbackPath="angular.callbacks."+callbackId,callback=createCallback(callbackId);return callbackMap[callbackPath]=callbacks[callbackId]=callback,callbackPath},wasCalled:function(callbackPath){return callbackMap[callbackPath].called},getResponse:function(callbackPath){return callbackMap[callbackPath].data},removeCallback:function(callbackPath){var callback=callbackMap[callbackPath];delete callbacks[callback.id],delete callbackMap[callbackPath]}}}},PATH_MATCH=/^([^?#]*)(\?([^#]*))?(#(.*))?$/,DEFAULT_PORTS={http:80,https:443,ftp:21},$locationMinErr=minErr("$location"),DOUBLE_SLASH_REGEX=/^\s*[\\/]{2,}/,locationPrototype={$$absUrl:"",$$html5:!1,$$replace:!1,absUrl:locationGetter("$$absUrl"),url:function(url){if(isUndefined(url))return this.$$url;var match=PATH_MATCH.exec(url);return(match[1]||""===url)&&this.path(decodeURIComponent(match[1])),(match[2]||match[1]||""===url)&&this.search(match[3]||""),this.hash(match[5]||""),this},protocol:locationGetter("$$protocol"),host:locationGetter("$$host"),port:locationGetter("$$port"),path:locationGetterSetter("$$path",function(path){return path=null!==path?path.toString():"","/"===path.charAt(0)?path:"/"+path}),search:function(search,paramValue){switch(arguments.length){case 0:return this.$$search;case 1:if(isString(search)||isNumber(search))search=search.toString(),this.$$search=parseKeyValue(search);else{if(!isObject(search))throw $locationMinErr("isrcharg","The first argument of the `$location#search()` call must be a string or an object.");search=copy(search,{}),forEach(search,function(value,key){null==value&&delete search[key]}),this.$$search=search}break;default:isUndefined(paramValue)||null===paramValue?delete this.$$search[search]:this.$$search[search]=paramValue}return this.$$compose(),this},hash:locationGetterSetter("$$hash",function(hash){return null!==hash?hash.toString():""}),replace:function(){return this.$$replace=!0,this}};forEach([LocationHashbangInHtml5Url,LocationHashbangUrl,LocationHtml5Url],function(Location){Location.prototype=Object.create(locationPrototype),Location.prototype.state=function(state){if(!arguments.length)return this.$$state;if(Location!==LocationHtml5Url||!this.$$html5)throw $locationMinErr("nostate","History API state support is available only in HTML5 mode and only in browsers supporting HTML5 History API");return this.$$state=isUndefined(state)?null:state,this.$$urlUpdatedByLocation=!0,this}});var $parseMinErr=minErr("$parse"),objectValueOf={}.constructor.prototype.valueOf,OPERATORS=createMap();forEach("+ - * / % === !== == != < > <= >= && || ! = |".split(" "),function(operator){
+OPERATORS[operator]=!0});var ESCAPE={n:"\n",f:"\f",r:"\r",t:"\t",v:"\x0B","'":"'",'"':'"'},Lexer=function(options){this.options=options};Lexer.prototype={constructor:Lexer,lex:function(text){for(this.text=text,this.index=0,this.tokens=[];this.index<this.text.length;){var ch=this.text.charAt(this.index);if('"'===ch||"'"===ch)this.readString(ch);else if(this.isNumber(ch)||"."===ch&&this.isNumber(this.peek()))this.readNumber();else if(this.isIdentifierStart(this.peekMultichar()))this.readIdent();else if(this.is(ch,"(){}[].,;:?"))this.tokens.push({index:this.index,text:ch}),this.index++;else if(this.isWhitespace(ch))this.index++;else{var ch2=ch+this.peek(),ch3=ch2+this.peek(2),op1=OPERATORS[ch],op2=OPERATORS[ch2],op3=OPERATORS[ch3];if(op1||op2||op3){var token=op3?ch3:op2?ch2:ch;this.tokens.push({index:this.index,text:token,operator:!0}),this.index+=token.length}else this.throwError("Unexpected next character ",this.index,this.index+1)}}return this.tokens},is:function(ch,chars){return chars.indexOf(ch)!==-1},peek:function(i){var num=i||1;return this.index+num<this.text.length&&this.text.charAt(this.index+num)},isNumber:function(ch){return"0"<=ch&&ch<="9"&&"string"==typeof ch},isWhitespace:function(ch){return" "===ch||"\r"===ch||"\t"===ch||"\n"===ch||"\x0B"===ch||" "===ch},isIdentifierStart:function(ch){return this.options.isIdentifierStart?this.options.isIdentifierStart(ch,this.codePointAt(ch)):this.isValidIdentifierStart(ch)},isValidIdentifierStart:function(ch){return"a"<=ch&&ch<="z"||"A"<=ch&&ch<="Z"||"_"===ch||"$"===ch},isIdentifierContinue:function(ch){return this.options.isIdentifierContinue?this.options.isIdentifierContinue(ch,this.codePointAt(ch)):this.isValidIdentifierContinue(ch)},isValidIdentifierContinue:function(ch,cp){return this.isValidIdentifierStart(ch,cp)||this.isNumber(ch)},codePointAt:function(ch){return 1===ch.length?ch.charCodeAt(0):(ch.charCodeAt(0)<<10)+ch.charCodeAt(1)-56613888},peekMultichar:function(){var ch=this.text.charAt(this.index),peek=this.peek();if(!peek)return ch;var cp1=ch.charCodeAt(0),cp2=peek.charCodeAt(0);return cp1>=55296&&cp1<=56319&&cp2>=56320&&cp2<=57343?ch+peek:ch},isExpOperator:function(ch){return"-"===ch||"+"===ch||this.isNumber(ch)},throwError:function(error,start,end){end=end||this.index;var colStr=isDefined(start)?"s "+start+"-"+this.index+" ["+this.text.substring(start,end)+"]":" "+end;throw $parseMinErr("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",error,colStr,this.text)},readNumber:function(){for(var number="",start=this.index;this.index<this.text.length;){var ch=lowercase(this.text.charAt(this.index));if("."===ch||this.isNumber(ch))number+=ch;else{var peekCh=this.peek();if("e"===ch&&this.isExpOperator(peekCh))number+=ch;else if(this.isExpOperator(ch)&&peekCh&&this.isNumber(peekCh)&&"e"===number.charAt(number.length-1))number+=ch;else{if(!this.isExpOperator(ch)||peekCh&&this.isNumber(peekCh)||"e"!==number.charAt(number.length-1))break;this.throwError("Invalid exponent")}}this.index++}this.tokens.push({index:start,text:number,constant:!0,value:Number(number)})},readIdent:function(){var start=this.index;for(this.index+=this.peekMultichar().length;this.index<this.text.length;){var ch=this.peekMultichar();if(!this.isIdentifierContinue(ch))break;this.index+=ch.length}this.tokens.push({index:start,text:this.text.slice(start,this.index),identifier:!0})},readString:function(quote){var start=this.index;this.index++;for(var string="",rawString=quote,escape=!1;this.index<this.text.length;){var ch=this.text.charAt(this.index);if(rawString+=ch,escape){if("u"===ch){var hex=this.text.substring(this.index+1,this.index+5);hex.match(/[\da-f]{4}/i)||this.throwError("Invalid unicode escape [\\u"+hex+"]"),this.index+=4,string+=String.fromCharCode(parseInt(hex,16))}else{var rep=ESCAPE[ch];string+=rep||ch}escape=!1}else if("\\"===ch)escape=!0;else{if(ch===quote)return this.index++,void this.tokens.push({index:start,text:rawString,constant:!0,value:string});string+=ch}this.index++}this.throwError("Unterminated quote",start)}};var AST=function(lexer,options){this.lexer=lexer,this.options=options};AST.Program="Program",AST.ExpressionStatement="ExpressionStatement",AST.AssignmentExpression="AssignmentExpression",AST.ConditionalExpression="ConditionalExpression",AST.LogicalExpression="LogicalExpression",AST.BinaryExpression="BinaryExpression",AST.UnaryExpression="UnaryExpression",AST.CallExpression="CallExpression",AST.MemberExpression="MemberExpression",AST.Identifier="Identifier",AST.Literal="Literal",AST.ArrayExpression="ArrayExpression",AST.Property="Property",AST.ObjectExpression="ObjectExpression",AST.ThisExpression="ThisExpression",AST.LocalsExpression="LocalsExpression",AST.NGValueParameter="NGValueParameter",AST.prototype={ast:function(text){this.text=text,this.tokens=this.lexer.lex(text);var value=this.program();return 0!==this.tokens.length&&this.throwError("is an unexpected token",this.tokens[0]),value},program:function(){for(var body=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&body.push(this.expressionStatement()),!this.expect(";"))return{type:AST.Program,body:body}},expressionStatement:function(){return{type:AST.ExpressionStatement,expression:this.filterChain()}},filterChain:function(){for(var left=this.expression();this.expect("|");)left=this.filter(left);return left},expression:function(){return this.assignment()},assignment:function(){var result=this.ternary();if(this.expect("=")){if(!isAssignable(result))throw $parseMinErr("lval","Trying to assign a value to a non l-value");result={type:AST.AssignmentExpression,left:result,right:this.assignment(),operator:"="}}return result},ternary:function(){var alternate,consequent,test=this.logicalOR();return this.expect("?")&&(alternate=this.expression(),this.consume(":"))?(consequent=this.expression(),{type:AST.ConditionalExpression,test:test,alternate:alternate,consequent:consequent}):test},logicalOR:function(){for(var left=this.logicalAND();this.expect("||");)left={type:AST.LogicalExpression,operator:"||",left:left,right:this.logicalAND()};return left},logicalAND:function(){for(var left=this.equality();this.expect("&&");)left={type:AST.LogicalExpression,operator:"&&",left:left,right:this.equality()};return left},equality:function(){for(var token,left=this.relational();token=this.expect("==","!=","===","!==");)left={type:AST.BinaryExpression,operator:token.text,left:left,right:this.relational()};return left},relational:function(){for(var token,left=this.additive();token=this.expect("<",">","<=",">=");)left={type:AST.BinaryExpression,operator:token.text,left:left,right:this.additive()};return left},additive:function(){for(var token,left=this.multiplicative();token=this.expect("+","-");)left={type:AST.BinaryExpression,operator:token.text,left:left,right:this.multiplicative()};return left},multiplicative:function(){for(var token,left=this.unary();token=this.expect("*","/","%");)left={type:AST.BinaryExpression,operator:token.text,left:left,right:this.unary()};return left},unary:function(){var token;return(token=this.expect("+","-","!"))?{type:AST.UnaryExpression,operator:token.text,prefix:!0,argument:this.unary()}:this.primary()},primary:function(){var primary;this.expect("(")?(primary=this.filterChain(),this.consume(")")):this.expect("[")?primary=this.arrayDeclaration():this.expect("{")?primary=this.object():this.selfReferential.hasOwnProperty(this.peek().text)?primary=copy(this.selfReferential[this.consume().text]):this.options.literals.hasOwnProperty(this.peek().text)?primary={type:AST.Literal,value:this.options.literals[this.consume().text]}:this.peek().identifier?primary=this.identifier():this.peek().constant?primary=this.constant():this.throwError("not a primary expression",this.peek());for(var next;next=this.expect("(","[",".");)"("===next.text?(primary={type:AST.CallExpression,callee:primary,arguments:this.parseArguments()},this.consume(")")):"["===next.text?(primary={type:AST.MemberExpression,object:primary,property:this.expression(),computed:!0},this.consume("]")):"."===next.text?primary={type:AST.MemberExpression,object:primary,property:this.identifier(),computed:!1}:this.throwError("IMPOSSIBLE");return primary},filter:function(baseExpression){for(var args=[baseExpression],result={type:AST.CallExpression,callee:this.identifier(),arguments:args,filter:!0};this.expect(":");)args.push(this.expression());return result},parseArguments:function(){var args=[];if(")"!==this.peekToken().text)do args.push(this.filterChain());while(this.expect(","));return args},identifier:function(){var token=this.consume();return token.identifier||this.throwError("is not a valid identifier",token),{type:AST.Identifier,name:token.text}},constant:function(){return{type:AST.Literal,value:this.consume().value}},arrayDeclaration:function(){var elements=[];if("]"!==this.peekToken().text)do{if(this.peek("]"))break;elements.push(this.expression())}while(this.expect(","));return this.consume("]"),{type:AST.ArrayExpression,elements:elements}},object:function(){var property,properties=[];if("}"!==this.peekToken().text)do{if(this.peek("}"))break;property={type:AST.Property,kind:"init"},this.peek().constant?(property.key=this.constant(),property.computed=!1,this.consume(":"),property.value=this.expression()):this.peek().identifier?(property.key=this.identifier(),property.computed=!1,this.peek(":")?(this.consume(":"),property.value=this.expression()):property.value=property.key):this.peek("[")?(this.consume("["),property.key=this.expression(),this.consume("]"),property.computed=!0,this.consume(":"),property.value=this.expression()):this.throwError("invalid key",this.peek()),properties.push(property)}while(this.expect(","));return this.consume("}"),{type:AST.ObjectExpression,properties:properties}},throwError:function(msg,token){throw $parseMinErr("syntax","Syntax Error: Token '{0}' {1} at column {2} of the expression [{3}] starting at [{4}].",token.text,msg,token.index+1,this.text,this.text.substring(token.index))},consume:function(e1){if(0===this.tokens.length)throw $parseMinErr("ueoe","Unexpected end of expression: {0}",this.text);var token=this.expect(e1);return token||this.throwError("is unexpected, expecting ["+e1+"]",this.peek()),token},peekToken:function(){if(0===this.tokens.length)throw $parseMinErr("ueoe","Unexpected end of expression: {0}",this.text);return this.tokens[0]},peek:function(e1,e2,e3,e4){return this.peekAhead(0,e1,e2,e3,e4)},peekAhead:function(i,e1,e2,e3,e4){if(this.tokens.length>i){var token=this.tokens[i],t=token.text;if(t===e1||t===e2||t===e3||t===e4||!e1&&!e2&&!e3&&!e4)return token}return!1},expect:function(e1,e2,e3,e4){var token=this.peek(e1,e2,e3,e4);return!!token&&(this.tokens.shift(),token)},selfReferential:{"this":{type:AST.ThisExpression},$locals:{type:AST.LocalsExpression}}},ASTCompiler.prototype={compile:function(expression){var self=this,ast=this.astBuilder.ast(expression);this.state={nextId:0,filters:{},fn:{vars:[],body:[],own:{}},assign:{vars:[],body:[],own:{}},inputs:[]},findConstantAndWatchExpressions(ast,self.$filter);var assignable,extra="";if(this.stage="assign",assignable=assignableAST(ast)){this.state.computing="assign";var result=this.nextId();this.recurse(assignable,result),this.return_(result),extra="fn.assign="+this.generateFunction("assign","s,v,l")}var toWatch=getInputs(ast.body);self.stage="inputs",forEach(toWatch,function(watch,key){var fnKey="fn"+key;self.state[fnKey]={vars:[],body:[],own:{}},self.state.computing=fnKey;var intoId=self.nextId();self.recurse(watch,intoId),self.return_(intoId),self.state.inputs.push(fnKey),watch.watchId=key}),this.state.computing="fn",this.stage="main",this.recurse(ast);var fnString='"'+this.USE+" "+this.STRICT+'";\n'+this.filterPrefix()+"var fn="+this.generateFunction("fn","s,l,a,i")+extra+this.watchFns()+"return fn;",fn=new Function("$filter","getStringValue","ifDefined","plus",fnString)(this.$filter,getStringValue,ifDefined,plusFn);return this.state=this.stage=void 0,fn.literal=isLiteral(ast),fn.constant=isConstant(ast),fn},USE:"use",STRICT:"strict",watchFns:function(){var result=[],fns=this.state.inputs,self=this;return forEach(fns,function(name){result.push("var "+name+"="+self.generateFunction(name,"s"))}),fns.length&&result.push("fn.inputs=["+fns.join(",")+"];"),result.join("")},generateFunction:function(name,params){return"function("+params+"){"+this.varsPrefix(name)+this.body(name)+"};"},filterPrefix:function(){var parts=[],self=this;return forEach(this.state.filters,function(id,filter){parts.push(id+"=$filter("+self.escape(filter)+")")}),parts.length?"var "+parts.join(",")+";":""},varsPrefix:function(section){return this.state[section].vars.length?"var "+this.state[section].vars.join(",")+";":""},body:function(section){return this.state[section].body.join("")},recurse:function(ast,intoId,nameId,recursionFn,create,skipWatchIdCheck){var left,right,args,expression,computed,self=this;if(recursionFn=recursionFn||noop,!skipWatchIdCheck&&isDefined(ast.watchId))return intoId=intoId||this.nextId(),void this.if_("i",this.lazyAssign(intoId,this.computedMember("i",ast.watchId)),this.lazyRecurse(ast,intoId,nameId,recursionFn,create,!0));switch(ast.type){case AST.Program:forEach(ast.body,function(expression,pos){self.recurse(expression.expression,void 0,void 0,function(expr){right=expr}),pos!==ast.body.length-1?self.current().body.push(right,";"):self.return_(right)});break;case AST.Literal:expression=this.escape(ast.value),this.assign(intoId,expression),recursionFn(intoId||expression);break;case AST.UnaryExpression:this.recurse(ast.argument,void 0,void 0,function(expr){right=expr}),expression=ast.operator+"("+this.ifDefined(right,0)+")",this.assign(intoId,expression),recursionFn(expression);break;case AST.BinaryExpression:this.recurse(ast.left,void 0,void 0,function(expr){left=expr}),this.recurse(ast.right,void 0,void 0,function(expr){right=expr}),expression="+"===ast.operator?this.plus(left,right):"-"===ast.operator?this.ifDefined(left,0)+ast.operator+this.ifDefined(right,0):"("+left+")"+ast.operator+"("+right+")",this.assign(intoId,expression),recursionFn(expression);break;case AST.LogicalExpression:intoId=intoId||this.nextId(),self.recurse(ast.left,intoId),self.if_("&&"===ast.operator?intoId:self.not(intoId),self.lazyRecurse(ast.right,intoId)),recursionFn(intoId);break;case AST.ConditionalExpression:intoId=intoId||this.nextId(),self.recurse(ast.test,intoId),self.if_(intoId,self.lazyRecurse(ast.alternate,intoId),self.lazyRecurse(ast.consequent,intoId)),recursionFn(intoId);break;case AST.Identifier:intoId=intoId||this.nextId(),nameId&&(nameId.context="inputs"===self.stage?"s":this.assign(this.nextId(),this.getHasOwnProperty("l",ast.name)+"?l:s"),nameId.computed=!1,nameId.name=ast.name),self.if_("inputs"===self.stage||self.not(self.getHasOwnProperty("l",ast.name)),function(){self.if_("inputs"===self.stage||"s",function(){create&&1!==create&&self.if_(self.isNull(self.nonComputedMember("s",ast.name)),self.lazyAssign(self.nonComputedMember("s",ast.name),"{}")),self.assign(intoId,self.nonComputedMember("s",ast.name))})},intoId&&self.lazyAssign(intoId,self.nonComputedMember("l",ast.name))),recursionFn(intoId);break;case AST.MemberExpression:left=nameId&&(nameId.context=this.nextId())||this.nextId(),intoId=intoId||this.nextId(),self.recurse(ast.object,left,void 0,function(){self.if_(self.notNull(left),function(){ast.computed?(right=self.nextId(),self.recurse(ast.property,right),self.getStringValue(right),create&&1!==create&&self.if_(self.not(self.computedMember(left,right)),self.lazyAssign(self.computedMember(left,right),"{}")),expression=self.computedMember(left,right),self.assign(intoId,expression),nameId&&(nameId.computed=!0,nameId.name=right)):(create&&1!==create&&self.if_(self.isNull(self.nonComputedMember(left,ast.property.name)),self.lazyAssign(self.nonComputedMember(left,ast.property.name),"{}")),expression=self.nonComputedMember(left,ast.property.name),self.assign(intoId,expression),nameId&&(nameId.computed=!1,nameId.name=ast.property.name))},function(){self.assign(intoId,"undefined")}),recursionFn(intoId)},!!create);break;case AST.CallExpression:intoId=intoId||this.nextId(),ast.filter?(right=self.filter(ast.callee.name),args=[],forEach(ast.arguments,function(expr){var argument=self.nextId();self.recurse(expr,argument),args.push(argument)}),expression=right+"("+args.join(",")+")",self.assign(intoId,expression),recursionFn(intoId)):(right=self.nextId(),left={},args=[],self.recurse(ast.callee,right,left,function(){self.if_(self.notNull(right),function(){forEach(ast.arguments,function(expr){self.recurse(expr,ast.constant?void 0:self.nextId(),void 0,function(argument){args.push(argument)})}),expression=left.name?self.member(left.context,left.name,left.computed)+"("+args.join(",")+")":right+"("+args.join(",")+")",self.assign(intoId,expression)},function(){self.assign(intoId,"undefined")}),recursionFn(intoId)}));break;case AST.AssignmentExpression:right=this.nextId(),left={},this.recurse(ast.left,void 0,left,function(){self.if_(self.notNull(left.context),function(){self.recurse(ast.right,right),expression=self.member(left.context,left.name,left.computed)+ast.operator+right,self.assign(intoId,expression),recursionFn(intoId||expression)})},1);break;case AST.ArrayExpression:args=[],forEach(ast.elements,function(expr){self.recurse(expr,ast.constant?void 0:self.nextId(),void 0,function(argument){args.push(argument)})}),expression="["+args.join(",")+"]",this.assign(intoId,expression),recursionFn(intoId||expression);break;case AST.ObjectExpression:args=[],computed=!1,forEach(ast.properties,function(property){property.computed&&(computed=!0)}),computed?(intoId=intoId||this.nextId(),this.assign(intoId,"{}"),forEach(ast.properties,function(property){property.computed?(left=self.nextId(),self.recurse(property.key,left)):left=property.key.type===AST.Identifier?property.key.name:""+property.key.value,right=self.nextId(),self.recurse(property.value,right),self.assign(self.member(intoId,left,property.computed),right)})):(forEach(ast.properties,function(property){self.recurse(property.value,ast.constant?void 0:self.nextId(),void 0,function(expr){args.push(self.escape(property.key.type===AST.Identifier?property.key.name:""+property.key.value)+":"+expr)})}),expression="{"+args.join(",")+"}",this.assign(intoId,expression)),recursionFn(intoId||expression);break;case AST.ThisExpression:this.assign(intoId,"s"),recursionFn(intoId||"s");break;case AST.LocalsExpression:this.assign(intoId,"l"),recursionFn(intoId||"l");break;case AST.NGValueParameter:this.assign(intoId,"v"),recursionFn(intoId||"v")}},getHasOwnProperty:function(element,property){var key=element+"."+property,own=this.current().own;return own.hasOwnProperty(key)||(own[key]=this.nextId(!1,element+"&&("+this.escape(property)+" in "+element+")")),own[key]},assign:function(id,value){if(id)return this.current().body.push(id,"=",value,";"),id},filter:function(filterName){return this.state.filters.hasOwnProperty(filterName)||(this.state.filters[filterName]=this.nextId(!0)),this.state.filters[filterName]},ifDefined:function(id,defaultValue){return"ifDefined("+id+","+this.escape(defaultValue)+")"},plus:function(left,right){return"plus("+left+","+right+")"},return_:function(id){this.current().body.push("return ",id,";")},if_:function(test,alternate,consequent){if(test===!0)alternate();else{var body=this.current().body;body.push("if(",test,"){"),alternate(),body.push("}"),consequent&&(body.push("else{"),consequent(),body.push("}"))}},not:function(expression){return"!("+expression+")"},isNull:function(expression){return expression+"==null"},notNull:function(expression){return expression+"!=null"},nonComputedMember:function(left,right){var SAFE_IDENTIFIER=/^[$_a-zA-Z][$_a-zA-Z0-9]*$/,UNSAFE_CHARACTERS=/[^$_a-zA-Z0-9]/g;return SAFE_IDENTIFIER.test(right)?left+"."+right:left+'["'+right.replace(UNSAFE_CHARACTERS,this.stringEscapeFn)+'"]'},computedMember:function(left,right){return left+"["+right+"]"},member:function(left,right,computed){return computed?this.computedMember(left,right):this.nonComputedMember(left,right)},getStringValue:function(item){this.assign(item,"getStringValue("+item+")")},lazyRecurse:function(ast,intoId,nameId,recursionFn,create,skipWatchIdCheck){var self=this;return function(){self.recurse(ast,intoId,nameId,recursionFn,create,skipWatchIdCheck)}},lazyAssign:function(id,value){var self=this;return function(){self.assign(id,value)}},stringEscapeRegex:/[^ a-zA-Z0-9]/g,stringEscapeFn:function(c){return"\\u"+("0000"+c.charCodeAt(0).toString(16)).slice(-4)},escape:function(value){if(isString(value))return"'"+value.replace(this.stringEscapeRegex,this.stringEscapeFn)+"'";if(isNumber(value))return value.toString();if(value===!0)return"true";if(value===!1)return"false";if(null===value)return"null";if("undefined"==typeof value)return"undefined";throw $parseMinErr("esc","IMPOSSIBLE")},nextId:function(skip,init){var id="v"+this.state.nextId++;return skip||this.current().vars.push(id+(init?"="+init:"")),id},current:function(){return this.state[this.state.computing]}},ASTInterpreter.prototype={compile:function(expression){var self=this,ast=this.astBuilder.ast(expression);findConstantAndWatchExpressions(ast,self.$filter);var assignable,assign;(assignable=assignableAST(ast))&&(assign=this.recurse(assignable));var inputs,toWatch=getInputs(ast.body);toWatch&&(inputs=[],forEach(toWatch,function(watch,key){var input=self.recurse(watch);watch.input=input,inputs.push(input),watch.watchId=key}));var expressions=[];forEach(ast.body,function(expression){expressions.push(self.recurse(expression.expression))});var fn=0===ast.body.length?noop:1===ast.body.length?expressions[0]:function(scope,locals){var lastValue;return forEach(expressions,function(exp){lastValue=exp(scope,locals)}),lastValue};return assign&&(fn.assign=function(scope,value,locals){return assign(scope,locals,value)}),inputs&&(fn.inputs=inputs),fn.literal=isLiteral(ast),fn.constant=isConstant(ast),fn},recurse:function(ast,context,create){var left,right,args,self=this;if(ast.input)return this.inputs(ast.input,ast.watchId);switch(ast.type){case AST.Literal:return this.value(ast.value,context);case AST.UnaryExpression:return right=this.recurse(ast.argument),this["unary"+ast.operator](right,context);case AST.BinaryExpression:return left=this.recurse(ast.left),right=this.recurse(ast.right),this["binary"+ast.operator](left,right,context);case AST.LogicalExpression:return left=this.recurse(ast.left),right=this.recurse(ast.right),this["binary"+ast.operator](left,right,context);case AST.ConditionalExpression:return this["ternary?:"](this.recurse(ast.test),this.recurse(ast.alternate),this.recurse(ast.consequent),context);case AST.Identifier:return self.identifier(ast.name,context,create);case AST.MemberExpression:return left=this.recurse(ast.object,!1,!!create),ast.computed||(right=ast.property.name),ast.computed&&(right=this.recurse(ast.property)),ast.computed?this.computedMember(left,right,context,create):this.nonComputedMember(left,right,context,create);case AST.CallExpression:return args=[],forEach(ast.arguments,function(expr){args.push(self.recurse(expr))}),ast.filter&&(right=this.$filter(ast.callee.name)),ast.filter||(right=this.recurse(ast.callee,!0)),ast.filter?function(scope,locals,assign,inputs){for(var values=[],i=0;i<args.length;++i)values.push(args[i](scope,locals,assign,inputs));var value=right.apply(void 0,values,inputs);return context?{context:void 0,name:void 0,value:value}:value}:function(scope,locals,assign,inputs){var value,rhs=right(scope,locals,assign,inputs);if(null!=rhs.value){for(var values=[],i=0;i<args.length;++i)values.push(args[i](scope,locals,assign,inputs));value=rhs.value.apply(rhs.context,values)}return context?{value:value}:value};case AST.AssignmentExpression:return left=this.recurse(ast.left,!0,1),right=this.recurse(ast.right),function(scope,locals,assign,inputs){var lhs=left(scope,locals,assign,inputs),rhs=right(scope,locals,assign,inputs);return lhs.context[lhs.name]=rhs,context?{value:rhs}:rhs};case AST.ArrayExpression:return args=[],forEach(ast.elements,function(expr){args.push(self.recurse(expr))}),function(scope,locals,assign,inputs){for(var value=[],i=0;i<args.length;++i)value.push(args[i](scope,locals,assign,inputs));return context?{value:value}:value};case AST.ObjectExpression:return args=[],forEach(ast.properties,function(property){property.computed?args.push({key:self.recurse(property.key),computed:!0,value:self.recurse(property.value)}):args.push({key:property.key.type===AST.Identifier?property.key.name:""+property.key.value,computed:!1,value:self.recurse(property.value)})}),function(scope,locals,assign,inputs){for(var value={},i=0;i<args.length;++i)args[i].computed?value[args[i].key(scope,locals,assign,inputs)]=args[i].value(scope,locals,assign,inputs):value[args[i].key]=args[i].value(scope,locals,assign,inputs);return context?{value:value}:value};case AST.ThisExpression:return function(scope){return context?{value:scope}:scope};case AST.LocalsExpression:return function(scope,locals){return context?{value:locals}:locals};case AST.NGValueParameter:return function(scope,locals,assign){return context?{value:assign}:assign}}},"unary+":function(argument,context){return function(scope,locals,assign,inputs){var arg=argument(scope,locals,assign,inputs);return arg=isDefined(arg)?+arg:0,context?{value:arg}:arg}},"unary-":function(argument,context){return function(scope,locals,assign,inputs){var arg=argument(scope,locals,assign,inputs);return arg=isDefined(arg)?-arg:-0,context?{value:arg}:arg}},"unary!":function(argument,context){return function(scope,locals,assign,inputs){var arg=!argument(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary+":function(left,right,context){return function(scope,locals,assign,inputs){var lhs=left(scope,locals,assign,inputs),rhs=right(scope,locals,assign,inputs),arg=plusFn(lhs,rhs);return context?{value:arg}:arg}},"binary-":function(left,right,context){return function(scope,locals,assign,inputs){var lhs=left(scope,locals,assign,inputs),rhs=right(scope,locals,assign,inputs),arg=(isDefined(lhs)?lhs:0)-(isDefined(rhs)?rhs:0);return context?{value:arg}:arg}},"binary*":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)*right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary/":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)/right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary%":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)%right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary===":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)===right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary!==":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)!==right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary==":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)==right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary!=":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)!=right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary<":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)<right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary>":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)>right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary<=":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)<=right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary>=":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)>=right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary&&":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)&&right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"binary||":function(left,right,context){return function(scope,locals,assign,inputs){var arg=left(scope,locals,assign,inputs)||right(scope,locals,assign,inputs);return context?{value:arg}:arg}},"ternary?:":function(test,alternate,consequent,context){return function(scope,locals,assign,inputs){var arg=test(scope,locals,assign,inputs)?alternate(scope,locals,assign,inputs):consequent(scope,locals,assign,inputs);return context?{value:arg}:arg}},value:function(value,context){return function(){return context?{context:void 0,name:void 0,value:value}:value}},identifier:function(name,context,create){return function(scope,locals,assign,inputs){var base=locals&&name in locals?locals:scope;create&&1!==create&&base&&null==base[name]&&(base[name]={});var value=base?base[name]:void 0;return context?{context:base,name:name,value:value}:value}},computedMember:function(left,right,context,create){return function(scope,locals,assign,inputs){var rhs,value,lhs=left(scope,locals,assign,inputs);return null!=lhs&&(rhs=right(scope,locals,assign,inputs),rhs=getStringValue(rhs),create&&1!==create&&lhs&&!lhs[rhs]&&(lhs[rhs]={}),value=lhs[rhs]),context?{context:lhs,name:rhs,value:value}:value}},nonComputedMember:function(left,right,context,create){return function(scope,locals,assign,inputs){var lhs=left(scope,locals,assign,inputs);create&&1!==create&&lhs&&null==lhs[right]&&(lhs[right]={});var value=null!=lhs?lhs[right]:void 0;return context?{context:lhs,name:right,value:value}:value}},inputs:function(input,watchId){return function(scope,value,locals,inputs){return inputs?inputs[watchId]:input(scope,value,locals)}}};var Parser=function(lexer,$filter,options){this.lexer=lexer,this.$filter=$filter,this.options=options,this.ast=new AST(lexer,options),this.astCompiler=options.csp?new ASTInterpreter(this.ast,$filter):new ASTCompiler(this.ast,$filter)};Parser.prototype={constructor:Parser,parse:function(text){return this.astCompiler.compile(text)}};var $sceMinErr=minErr("$sce"),SCE_CONTEXTS={HTML:"html",CSS:"css",URL:"url",RESOURCE_URL:"resourceUrl",JS:"js"},UNDERSCORE_LOWERCASE_REGEXP=/_([a-z])/g,$templateRequestMinErr=minErr("$compile"),urlParsingNode=window.document.createElement("a"),originUrl=urlResolve(window.location.href);$$CookieReader.$inject=["$document"],$FilterProvider.$inject=["$provide"];var MAX_DIGITS=22,DECIMAL_SEP=".",ZERO_CHAR="0";currencyFilter.$inject=["$locale"],numberFilter.$inject=["$locale"];var DATE_FORMATS={yyyy:dateGetter("FullYear",4,0,!1,!0),yy:dateGetter("FullYear",2,0,!0,!0),y:dateGetter("FullYear",1,0,!1,!0),MMMM:dateStrGetter("Month"),MMM:dateStrGetter("Month",!0),MM:dateGetter("Month",2,1),M:dateGetter("Month",1,1),LLLL:dateStrGetter("Month",!1,!0),dd:dateGetter("Date",2),d:dateGetter("Date",1),HH:dateGetter("Hours",2),H:dateGetter("Hours",1),hh:dateGetter("Hours",2,-12),h:dateGetter("Hours",1,-12),mm:dateGetter("Minutes",2),m:dateGetter("Minutes",1),ss:dateGetter("Seconds",2),s:dateGetter("Seconds",1),sss:dateGetter("Milliseconds",3),EEEE:dateStrGetter("Day"),EEE:dateStrGetter("Day",!0),a:ampmGetter,Z:timeZoneGetter,ww:weekGetter(2),w:weekGetter(1),G:eraGetter,GG:eraGetter,GGG:eraGetter,GGGG:longEraGetter},DATE_FORMATS_SPLIT=/((?:[^yMLdHhmsaZEwG']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|m+|s+|a|Z|G+|w+))(.*)/,NUMBER_STRING=/^-?\d+$/;dateFilter.$inject=["$locale"];var lowercaseFilter=valueFn(lowercase),uppercaseFilter=valueFn(uppercase);orderByFilter.$inject=["$parse"];var htmlAnchorDirective=valueFn({restrict:"E",compile:function(element,attr){if(!attr.href&&!attr.xlinkHref)return function(scope,element){
+if("a"===element[0].nodeName.toLowerCase()){var href="[object SVGAnimatedString]"===toString.call(element.prop("href"))?"xlink:href":"href";element.on("click",function(event){element.attr(href)||event.preventDefault()})}}}}),ngAttributeAliasDirectives={};forEach(BOOLEAN_ATTR,function(propName,attrName){function defaultLinkFn(scope,element,attr){scope.$watch(attr[normalized],function(value){attr.$set(attrName,!!value)})}if("multiple"!==propName){var normalized=directiveNormalize("ng-"+attrName),linkFn=defaultLinkFn;"checked"===propName&&(linkFn=function(scope,element,attr){attr.ngModel!==attr[normalized]&&defaultLinkFn(scope,element,attr)}),ngAttributeAliasDirectives[normalized]=function(){return{restrict:"A",priority:100,link:linkFn}}}}),forEach(ALIASED_ATTR,function(htmlAttr,ngAttr){ngAttributeAliasDirectives[ngAttr]=function(){return{priority:100,link:function(scope,element,attr){if("ngPattern"===ngAttr&&"/"===attr.ngPattern.charAt(0)){var match=attr.ngPattern.match(REGEX_STRING_REGEXP);if(match)return void attr.$set("ngPattern",new RegExp(match[1],match[2]))}scope.$watch(attr[ngAttr],function(value){attr.$set(ngAttr,value)})}}}}),forEach(["src","srcset","href"],function(attrName){var normalized=directiveNormalize("ng-"+attrName);ngAttributeAliasDirectives[normalized]=function(){return{priority:99,link:function(scope,element,attr){var propName=attrName,name=attrName;"href"===attrName&&"[object SVGAnimatedString]"===toString.call(element.prop("href"))&&(name="xlinkHref",attr.$attr[name]="xlink:href",propName=null),attr.$observe(normalized,function(value){return value?(attr.$set(name,value),void(msie&&propName&&element.prop(propName,attr[name]))):void("href"===attrName&&attr.$set(name,null))})}}}});var nullFormCtrl={$addControl:noop,$$renameControl:nullFormRenameControl,$removeControl:noop,$setValidity:noop,$setDirty:noop,$setPristine:noop,$setSubmitted:noop},PENDING_CLASS="ng-pending",SUBMITTED_CLASS="ng-submitted";FormController.$inject=["$element","$attrs","$scope","$animate","$interpolate"],FormController.prototype={$rollbackViewValue:function(){forEach(this.$$controls,function(control){control.$rollbackViewValue()})},$commitViewValue:function(){forEach(this.$$controls,function(control){control.$commitViewValue()})},$addControl:function(control){assertNotHasOwnProperty(control.$name,"input"),this.$$controls.push(control),control.$name&&(this[control.$name]=control),control.$$parentForm=this},$$renameControl:function(control,newName){var oldName=control.$name;this[oldName]===control&&delete this[oldName],this[newName]=control,control.$name=newName},$removeControl:function(control){control.$name&&this[control.$name]===control&&delete this[control.$name],forEach(this.$pending,function(value,name){this.$setValidity(name,null,control)},this),forEach(this.$error,function(value,name){this.$setValidity(name,null,control)},this),forEach(this.$$success,function(value,name){this.$setValidity(name,null,control)},this),arrayRemove(this.$$controls,control),control.$$parentForm=nullFormCtrl},$setDirty:function(){this.$$animate.removeClass(this.$$element,PRISTINE_CLASS),this.$$animate.addClass(this.$$element,DIRTY_CLASS),this.$dirty=!0,this.$pristine=!1,this.$$parentForm.$setDirty()},$setPristine:function(){this.$$animate.setClass(this.$$element,PRISTINE_CLASS,DIRTY_CLASS+" "+SUBMITTED_CLASS),this.$dirty=!1,this.$pristine=!0,this.$submitted=!1,forEach(this.$$controls,function(control){control.$setPristine()})},$setUntouched:function(){forEach(this.$$controls,function(control){control.$setUntouched()})},$setSubmitted:function(){this.$$animate.addClass(this.$$element,SUBMITTED_CLASS),this.$submitted=!0,this.$$parentForm.$setSubmitted()}},addSetValidityMethod({clazz:FormController,set:function(object,property,controller){var list=object[property];if(list){var index=list.indexOf(controller);index===-1&&list.push(controller)}else object[property]=[controller]},unset:function(object,property,controller){var list=object[property];list&&(arrayRemove(list,controller),0===list.length&&delete object[property])}});var formDirectiveFactory=function(isNgForm){return["$timeout","$parse",function($timeout,$parse){function getSetter(expression){return""===expression?$parse('this[""]').assign:$parse(expression).assign||noop}var formDirective={name:"form",restrict:isNgForm?"EAC":"E",require:["form","^^?form"],controller:FormController,compile:function(formElement,attr){formElement.addClass(PRISTINE_CLASS).addClass(VALID_CLASS);var nameAttr=attr.name?"name":!(!isNgForm||!attr.ngForm)&&"ngForm";return{pre:function(scope,formElement,attr,ctrls){var controller=ctrls[0];if(!("action"in attr)){var handleFormSubmission=function(event){scope.$apply(function(){controller.$commitViewValue(),controller.$setSubmitted()}),event.preventDefault()};formElement[0].addEventListener("submit",handleFormSubmission),formElement.on("$destroy",function(){$timeout(function(){formElement[0].removeEventListener("submit",handleFormSubmission)},0,!1)})}var parentFormCtrl=ctrls[1]||controller.$$parentForm;parentFormCtrl.$addControl(controller);var setter=nameAttr?getSetter(controller.$name):noop;nameAttr&&(setter(scope,controller),attr.$observe(nameAttr,function(newValue){controller.$name!==newValue&&(setter(scope,void 0),controller.$$parentForm.$$renameControl(controller,newValue),(setter=getSetter(controller.$name))(scope,controller))})),formElement.on("$destroy",function(){controller.$$parentForm.$removeControl(controller),setter(scope,void 0),extend(controller,nullFormCtrl)})}}}};return formDirective}]},formDirective=formDirectiveFactory(),ngFormDirective=formDirectiveFactory(!0),ISO_DATE_REGEXP=/^\d{4,}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+(?:[+-][0-2]\d:[0-5]\d|Z)$/,URL_REGEXP=/^[a-z][a-z\d.+-]*:\/*(?:[^:@]+(?::[^@]+)?@)?(?:[^\s:\/?#]+|\[[a-f\d:]+])(?::\d+)?(?:\/[^?#]*)?(?:\?[^#]*)?(?:#.*)?$/i,EMAIL_REGEXP=/^(?=.{1,254}$)(?=.{1,64}@)[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+(\.[-!#$%&'*+\/0-9=?A-Z^_`a-z{|}~]+)*@[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?(\.[A-Za-z0-9]([A-Za-z0-9-]{0,61}[A-Za-z0-9])?)*$/,NUMBER_REGEXP=/^\s*(-|\+)?(\d+|(\d*(\.\d*)))([eE][+-]?\d+)?\s*$/,DATE_REGEXP=/^(\d{4,})-(\d{2})-(\d{2})$/,DATETIMELOCAL_REGEXP=/^(\d{4,})-(\d\d)-(\d\d)T(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,WEEK_REGEXP=/^(\d{4,})-W(\d\d)$/,MONTH_REGEXP=/^(\d{4,})-(\d\d)$/,TIME_REGEXP=/^(\d\d):(\d\d)(?::(\d\d)(\.\d{1,3})?)?$/,PARTIAL_VALIDATION_EVENTS="keydown wheel mousedown",PARTIAL_VALIDATION_TYPES=createMap();forEach("date,datetime-local,month,time,week".split(","),function(type){PARTIAL_VALIDATION_TYPES[type]=!0});var inputType={text:textInputType,date:createDateInputType("date",DATE_REGEXP,createDateParser(DATE_REGEXP,["yyyy","MM","dd"]),"yyyy-MM-dd"),"datetime-local":createDateInputType("datetimelocal",DATETIMELOCAL_REGEXP,createDateParser(DATETIMELOCAL_REGEXP,["yyyy","MM","dd","HH","mm","ss","sss"]),"yyyy-MM-ddTHH:mm:ss.sss"),time:createDateInputType("time",TIME_REGEXP,createDateParser(TIME_REGEXP,["HH","mm","ss","sss"]),"HH:mm:ss.sss"),week:createDateInputType("week",WEEK_REGEXP,weekParser,"yyyy-Www"),month:createDateInputType("month",MONTH_REGEXP,createDateParser(MONTH_REGEXP,["yyyy","MM"]),"yyyy-MM"),number:numberInputType,url:urlInputType,email:emailInputType,radio:radioInputType,range:rangeInputType,checkbox:checkboxInputType,hidden:noop,button:noop,submit:noop,reset:noop,file:noop},inputDirective=["$browser","$sniffer","$filter","$parse",function($browser,$sniffer,$filter,$parse){return{restrict:"E",require:["?ngModel"],link:{pre:function(scope,element,attr,ctrls){ctrls[0]&&(inputType[lowercase(attr.type)]||inputType.text)(scope,element,attr,ctrls[0],$sniffer,$browser,$filter,$parse)}}}}],CONSTANT_VALUE_REGEXP=/^(true|false|\d+)$/,ngValueDirective=function(){function updateElementValue(element,attr,value){var propValue=isDefined(value)?value:9===msie?"":null;element.prop("value",propValue),attr.$set("value",value)}return{restrict:"A",priority:100,compile:function(tpl,tplAttr){return CONSTANT_VALUE_REGEXP.test(tplAttr.ngValue)?function(scope,elm,attr){var value=scope.$eval(attr.ngValue);updateElementValue(elm,attr,value)}:function(scope,elm,attr){scope.$watch(attr.ngValue,function(value){updateElementValue(elm,attr,value)})}}}},ngBindDirective=["$compile",function($compile){return{restrict:"AC",compile:function(templateElement){return $compile.$$addBindingClass(templateElement),function(scope,element,attr){$compile.$$addBindingInfo(element,attr.ngBind),element=element[0],scope.$watch(attr.ngBind,function(value){element.textContent=stringify(value)})}}}}],ngBindTemplateDirective=["$interpolate","$compile",function($interpolate,$compile){return{compile:function(templateElement){return $compile.$$addBindingClass(templateElement),function(scope,element,attr){var interpolateFn=$interpolate(element.attr(attr.$attr.ngBindTemplate));$compile.$$addBindingInfo(element,interpolateFn.expressions),element=element[0],attr.$observe("ngBindTemplate",function(value){element.textContent=isUndefined(value)?"":value})}}}}],ngBindHtmlDirective=["$sce","$parse","$compile",function($sce,$parse,$compile){return{restrict:"A",compile:function(tElement,tAttrs){var ngBindHtmlGetter=$parse(tAttrs.ngBindHtml),ngBindHtmlWatch=$parse(tAttrs.ngBindHtml,function(val){return $sce.valueOf(val)});return $compile.$$addBindingClass(tElement),function(scope,element,attr){$compile.$$addBindingInfo(element,attr.ngBindHtml),scope.$watch(ngBindHtmlWatch,function(){var value=ngBindHtmlGetter(scope);element.html($sce.getTrustedHtml(value)||"")})}}}}],ngChangeDirective=valueFn({restrict:"A",require:"ngModel",link:function(scope,element,attr,ctrl){ctrl.$viewChangeListeners.push(function(){scope.$eval(attr.ngChange)})}}),ngClassDirective=classDirective("",!0),ngClassOddDirective=classDirective("Odd",0),ngClassEvenDirective=classDirective("Even",1),ngCloakDirective=ngDirective({compile:function(element,attr){attr.$set("ngCloak",void 0),element.removeClass("ng-cloak")}}),ngControllerDirective=[function(){return{restrict:"A",scope:!0,controller:"@",priority:500}}],ngEventDirectives={},forceAsyncEvents={blur:!0,focus:!0};forEach("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(eventName){var directiveName=directiveNormalize("ng-"+eventName);ngEventDirectives[directiveName]=["$parse","$rootScope",function($parse,$rootScope){return{restrict:"A",compile:function($element,attr){var fn=$parse(attr[directiveName]);return function(scope,element){element.on(eventName,function(event){var callback=function(){fn(scope,{$event:event})};forceAsyncEvents[eventName]&&$rootScope.$$phase?scope.$evalAsync(callback):scope.$apply(callback)})}}}}]});var ngIfDirective=["$animate","$compile",function($animate,$compile){return{multiElement:!0,transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function($scope,$element,$attr,ctrl,$transclude){var block,childScope,previousElements;$scope.$watch($attr.ngIf,function(value){value?childScope||$transclude(function(clone,newScope){childScope=newScope,clone[clone.length++]=$compile.$$createComment("end ngIf",$attr.ngIf),block={clone:clone},$animate.enter(clone,$element.parent(),$element)}):(previousElements&&(previousElements.remove(),previousElements=null),childScope&&(childScope.$destroy(),childScope=null),block&&(previousElements=getBlockNodes(block.clone),$animate.leave(previousElements).done(function(response){response!==!1&&(previousElements=null)}),block=null))})}}}],ngIncludeDirective=["$templateRequest","$anchorScroll","$animate",function($templateRequest,$anchorScroll,$animate){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:angular.noop,compile:function(element,attr){var srcExp=attr.ngInclude||attr.src,onloadExp=attr.onload||"",autoScrollExp=attr.autoscroll;return function(scope,$element,$attr,ctrl,$transclude){var currentScope,previousElement,currentElement,changeCounter=0,cleanupLastIncludeContent=function(){previousElement&&(previousElement.remove(),previousElement=null),currentScope&&(currentScope.$destroy(),currentScope=null),currentElement&&($animate.leave(currentElement).done(function(response){response!==!1&&(previousElement=null)}),previousElement=currentElement,currentElement=null)};scope.$watch(srcExp,function(src){var afterAnimation=function(response){response===!1||!isDefined(autoScrollExp)||autoScrollExp&&!scope.$eval(autoScrollExp)||$anchorScroll()},thisChangeId=++changeCounter;src?($templateRequest(src,!0).then(function(response){if(!scope.$$destroyed&&thisChangeId===changeCounter){var newScope=scope.$new();ctrl.template=response;var clone=$transclude(newScope,function(clone){cleanupLastIncludeContent(),$animate.enter(clone,null,$element).done(afterAnimation)});currentScope=newScope,currentElement=clone,currentScope.$emit("$includeContentLoaded",src),scope.$eval(onloadExp)}},function(){scope.$$destroyed||thisChangeId===changeCounter&&(cleanupLastIncludeContent(),scope.$emit("$includeContentError",src))}),scope.$emit("$includeContentRequested",src)):(cleanupLastIncludeContent(),ctrl.template=null)})}}}}],ngIncludeFillContentDirective=["$compile",function($compile){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(scope,$element,$attr,ctrl){return toString.call($element[0]).match(/SVG/)?($element.empty(),void $compile(jqLiteBuildFragment(ctrl.template,window.document).childNodes)(scope,function(clone){$element.append(clone)},{futureParentElement:$element})):($element.html(ctrl.template),void $compile($element.contents())(scope))}}}],ngInitDirective=ngDirective({priority:450,compile:function(){return{pre:function(scope,element,attrs){scope.$eval(attrs.ngInit)}}}}),ngListDirective=function(){return{restrict:"A",priority:100,require:"ngModel",link:function(scope,element,attr,ctrl){var ngList=attr.ngList||", ",trimValues="false"!==attr.ngTrim,separator=trimValues?trim(ngList):ngList,parse=function(viewValue){if(!isUndefined(viewValue)){var list=[];return viewValue&&forEach(viewValue.split(separator),function(value){value&&list.push(trimValues?trim(value):value)}),list}};ctrl.$parsers.push(parse),ctrl.$formatters.push(function(value){if(isArray(value))return value.join(ngList)}),ctrl.$isEmpty=function(value){return!value||!value.length}}}},VALID_CLASS="ng-valid",INVALID_CLASS="ng-invalid",PRISTINE_CLASS="ng-pristine",DIRTY_CLASS="ng-dirty",UNTOUCHED_CLASS="ng-untouched",TOUCHED_CLASS="ng-touched",EMPTY_CLASS="ng-empty",NOT_EMPTY_CLASS="ng-not-empty",ngModelMinErr=minErr("ngModel");NgModelController.$inject=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate","$timeout","$q","$interpolate"],NgModelController.prototype={$$initGetterSetters:function(){if(this.$options.getOption("getterSetter")){var invokeModelGetter=this.$$parse(this.$$attr.ngModel+"()"),invokeModelSetter=this.$$parse(this.$$attr.ngModel+"($$$p)");this.$$ngModelGet=function($scope){var modelValue=this.$$parsedNgModel($scope);return isFunction(modelValue)&&(modelValue=invokeModelGetter($scope)),modelValue},this.$$ngModelSet=function($scope,newValue){isFunction(this.$$parsedNgModel($scope))?invokeModelSetter($scope,{$$$p:newValue}):this.$$parsedNgModelAssign($scope,newValue)}}else if(!this.$$parsedNgModel.assign)throw ngModelMinErr("nonassign","Expression '{0}' is non-assignable. Element: {1}",this.$$attr.ngModel,startingTag(this.$$element))},$render:noop,$isEmpty:function(value){return isUndefined(value)||""===value||null===value||value!==value},$$updateEmptyClasses:function(value){this.$isEmpty(value)?(this.$$animate.removeClass(this.$$element,NOT_EMPTY_CLASS),this.$$animate.addClass(this.$$element,EMPTY_CLASS)):(this.$$animate.removeClass(this.$$element,EMPTY_CLASS),this.$$animate.addClass(this.$$element,NOT_EMPTY_CLASS))},$setPristine:function(){this.$dirty=!1,this.$pristine=!0,this.$$animate.removeClass(this.$$element,DIRTY_CLASS),this.$$animate.addClass(this.$$element,PRISTINE_CLASS)},$setDirty:function(){this.$dirty=!0,this.$pristine=!1,this.$$animate.removeClass(this.$$element,PRISTINE_CLASS),this.$$animate.addClass(this.$$element,DIRTY_CLASS),this.$$parentForm.$setDirty()},$setUntouched:function(){this.$touched=!1,this.$untouched=!0,this.$$animate.setClass(this.$$element,UNTOUCHED_CLASS,TOUCHED_CLASS)},$setTouched:function(){this.$touched=!0,this.$untouched=!1,this.$$animate.setClass(this.$$element,TOUCHED_CLASS,UNTOUCHED_CLASS)},$rollbackViewValue:function(){this.$$timeout.cancel(this.$$pendingDebounce),this.$viewValue=this.$$lastCommittedViewValue,this.$render()},$validate:function(){if(!isNumberNaN(this.$modelValue)){var viewValue=this.$$lastCommittedViewValue,modelValue=this.$$rawModelValue,prevValid=this.$valid,prevModelValue=this.$modelValue,allowInvalid=this.$options.getOption("allowInvalid"),that=this;this.$$runValidators(modelValue,viewValue,function(allValid){allowInvalid||prevValid===allValid||(that.$modelValue=allValid?modelValue:void 0,that.$modelValue!==prevModelValue&&that.$$writeModelToScope())})}},$$runValidators:function(modelValue,viewValue,doneCallback){function processParseErrors(){var errorKey=that.$$parserName||"parse";return isUndefined(that.$$parserValid)?(setValidity(errorKey,null),!0):(that.$$parserValid||(forEach(that.$validators,function(v,name){setValidity(name,null)}),forEach(that.$asyncValidators,function(v,name){setValidity(name,null)})),setValidity(errorKey,that.$$parserValid),that.$$parserValid)}function processSyncValidators(){var syncValidatorsValid=!0;return forEach(that.$validators,function(validator,name){var result=Boolean(validator(modelValue,viewValue));syncValidatorsValid=syncValidatorsValid&&result,setValidity(name,result)}),!!syncValidatorsValid||(forEach(that.$asyncValidators,function(v,name){setValidity(name,null)}),!1)}function processAsyncValidators(){var validatorPromises=[],allValid=!0;forEach(that.$asyncValidators,function(validator,name){var promise=validator(modelValue,viewValue);if(!isPromiseLike(promise))throw ngModelMinErr("nopromise","Expected asynchronous validator to return a promise but got '{0}' instead.",promise);setValidity(name,void 0),validatorPromises.push(promise.then(function(){setValidity(name,!0)},function(){allValid=!1,setValidity(name,!1)}))}),validatorPromises.length?that.$$q.all(validatorPromises).then(function(){validationDone(allValid)},noop):validationDone(!0)}function setValidity(name,isValid){localValidationRunId===that.$$currentValidationRunId&&that.$setValidity(name,isValid)}function validationDone(allValid){localValidationRunId===that.$$currentValidationRunId&&doneCallback(allValid)}this.$$currentValidationRunId++;var localValidationRunId=this.$$currentValidationRunId,that=this;return processParseErrors()&&processSyncValidators()?void processAsyncValidators():void validationDone(!1)},$commitViewValue:function(){var viewValue=this.$viewValue;this.$$timeout.cancel(this.$$pendingDebounce),(this.$$lastCommittedViewValue!==viewValue||""===viewValue&&this.$$hasNativeValidators)&&(this.$$updateEmptyClasses(viewValue),this.$$lastCommittedViewValue=viewValue,this.$pristine&&this.$setDirty(),this.$$parseAndValidate())},$$parseAndValidate:function(){function writeToModelIfNeeded(){that.$modelValue!==prevModelValue&&that.$$writeModelToScope()}var viewValue=this.$$lastCommittedViewValue,modelValue=viewValue,that=this;if(this.$$parserValid=!isUndefined(modelValue)||void 0,this.$$parserValid)for(var i=0;i<this.$parsers.length;i++)if(modelValue=this.$parsers[i](modelValue),isUndefined(modelValue)){this.$$parserValid=!1;break}isNumberNaN(this.$modelValue)&&(this.$modelValue=this.$$ngModelGet(this.$$scope));var prevModelValue=this.$modelValue,allowInvalid=this.$options.getOption("allowInvalid");this.$$rawModelValue=modelValue,allowInvalid&&(this.$modelValue=modelValue,writeToModelIfNeeded()),this.$$runValidators(modelValue,this.$$lastCommittedViewValue,function(allValid){allowInvalid||(that.$modelValue=allValid?modelValue:void 0,writeToModelIfNeeded())})},$$writeModelToScope:function(){this.$$ngModelSet(this.$$scope,this.$modelValue),forEach(this.$viewChangeListeners,function(listener){try{listener()}catch(e){this.$$exceptionHandler(e)}},this)},$setViewValue:function(value,trigger){this.$viewValue=value,this.$options.getOption("updateOnDefault")&&this.$$debounceViewValueCommit(trigger)},$$debounceViewValueCommit:function(trigger){var debounceDelay=this.$options.getOption("debounce");isNumber(debounceDelay[trigger])?debounceDelay=debounceDelay[trigger]:isNumber(debounceDelay["default"])&&(debounceDelay=debounceDelay["default"]),this.$$timeout.cancel(this.$$pendingDebounce);var that=this;debounceDelay>0?this.$$pendingDebounce=this.$$timeout(function(){that.$commitViewValue()},debounceDelay):this.$$scope.$root.$$phase?this.$commitViewValue():this.$$scope.$apply(function(){that.$commitViewValue()})},$overrideModelOptions:function(options){this.$options=this.$options.createChild(options)}},addSetValidityMethod({clazz:NgModelController,set:function(object,property){object[property]=!0},unset:function(object,property){delete object[property]}});var defaultModelOptions,ngModelDirective=["$rootScope",function($rootScope){return{restrict:"A",require:["ngModel","^?form","^?ngModelOptions"],controller:NgModelController,priority:1,compile:function(element){return element.addClass(PRISTINE_CLASS).addClass(UNTOUCHED_CLASS).addClass(VALID_CLASS),{pre:function(scope,element,attr,ctrls){var modelCtrl=ctrls[0],formCtrl=ctrls[1]||modelCtrl.$$parentForm,optionsCtrl=ctrls[2];optionsCtrl&&(modelCtrl.$options=optionsCtrl.$options),modelCtrl.$$initGetterSetters(),formCtrl.$addControl(modelCtrl),attr.$observe("name",function(newValue){modelCtrl.$name!==newValue&&modelCtrl.$$parentForm.$$renameControl(modelCtrl,newValue)}),scope.$on("$destroy",function(){modelCtrl.$$parentForm.$removeControl(modelCtrl)})},post:function(scope,element,attr,ctrls){function setTouched(){modelCtrl.$setTouched()}var modelCtrl=ctrls[0];modelCtrl.$options.getOption("updateOn")&&element.on(modelCtrl.$options.getOption("updateOn"),function(ev){modelCtrl.$$debounceViewValueCommit(ev&&ev.type)}),element.on("blur",function(){modelCtrl.$touched||($rootScope.$$phase?scope.$evalAsync(setTouched):scope.$apply(setTouched))})}}}}}],DEFAULT_REGEXP=/(\s+|^)default(\s+|$)/;ModelOptions.prototype={getOption:function(name){return this.$$options[name]},createChild:function(options){var inheritAll=!1;return options=extend({},options),forEach(options,function(option,key){"$inherit"===option?"*"===key?inheritAll=!0:(options[key]=this.$$options[key],"updateOn"===key&&(options.updateOnDefault=this.$$options.updateOnDefault)):"updateOn"===key&&(options.updateOnDefault=!1,options[key]=trim(option.replace(DEFAULT_REGEXP,function(){return options.updateOnDefault=!0," "})))},this),inheritAll&&(delete options["*"],defaults(options,this.$$options)),defaults(options,defaultModelOptions.$$options),new ModelOptions(options)}},defaultModelOptions=new ModelOptions({updateOn:"",updateOnDefault:!0,debounce:0,getterSetter:!1,allowInvalid:!1,timezone:null});var ngModelOptionsDirective=function(){function NgModelOptionsController($attrs,$scope){this.$$attrs=$attrs,this.$$scope=$scope}return NgModelOptionsController.$inject=["$attrs","$scope"],NgModelOptionsController.prototype={$onInit:function(){var parentOptions=this.parentCtrl?this.parentCtrl.$options:defaultModelOptions,modelOptionsDefinition=this.$$scope.$eval(this.$$attrs.ngModelOptions);this.$options=parentOptions.createChild(modelOptionsDefinition)}},{restrict:"A",priority:10,require:{parentCtrl:"?^^ngModelOptions"},bindToController:!0,controller:NgModelOptionsController}},ngNonBindableDirective=ngDirective({terminal:!0,priority:1e3}),ngOptionsMinErr=minErr("ngOptions"),NG_OPTIONS_REGEXP=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?(?:\s+disable\s+when\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]+?))?$/,ngOptionsDirective=["$compile","$document","$parse",function($compile,$document,$parse){function parseOptionsExpression(optionsExp,selectElement,scope){function Option(selectValue,viewValue,label,group,disabled){this.selectValue=selectValue,this.viewValue=viewValue,this.label=label,this.group=group,this.disabled=disabled}function getOptionValuesKeys(optionValues){var optionValuesKeys;if(!keyName&&isArrayLike(optionValues))optionValuesKeys=optionValues;else{optionValuesKeys=[];for(var itemKey in optionValues)optionValues.hasOwnProperty(itemKey)&&"$"!==itemKey.charAt(0)&&optionValuesKeys.push(itemKey)}return optionValuesKeys}var match=optionsExp.match(NG_OPTIONS_REGEXP);if(!match)throw ngOptionsMinErr("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",optionsExp,startingTag(selectElement));var valueName=match[5]||match[7],keyName=match[6],selectAs=/ as /.test(match[0])&&match[1],trackBy=match[9],valueFn=$parse(match[2]?match[1]:valueName),selectAsFn=selectAs&&$parse(selectAs),viewValueFn=selectAsFn||valueFn,trackByFn=trackBy&&$parse(trackBy),getTrackByValueFn=trackBy?function(value,locals){return trackByFn(scope,locals)}:function(value){return hashKey(value)},getTrackByValue=function(value,key){return getTrackByValueFn(value,getLocals(value,key))},displayFn=$parse(match[2]||match[1]),groupByFn=$parse(match[3]||""),disableWhenFn=$parse(match[4]||""),valuesFn=$parse(match[8]),locals={},getLocals=keyName?function(value,key){return locals[keyName]=key,locals[valueName]=value,locals}:function(value){return locals[valueName]=value,locals};return{trackBy:trackBy,getTrackByValue:getTrackByValue,getWatchables:$parse(valuesFn,function(optionValues){var watchedArray=[];optionValues=optionValues||[];for(var optionValuesKeys=getOptionValuesKeys(optionValues),optionValuesLength=optionValuesKeys.length,index=0;index<optionValuesLength;index++){var key=optionValues===optionValuesKeys?index:optionValuesKeys[index],value=optionValues[key],locals=getLocals(value,key),selectValue=getTrackByValueFn(value,locals);if(watchedArray.push(selectValue),match[2]||match[1]){var label=displayFn(scope,locals);watchedArray.push(label)}if(match[4]){var disableWhen=disableWhenFn(scope,locals);watchedArray.push(disableWhen)}}return watchedArray}),getOptions:function(){for(var optionItems=[],selectValueMap={},optionValues=valuesFn(scope)||[],optionValuesKeys=getOptionValuesKeys(optionValues),optionValuesLength=optionValuesKeys.length,index=0;index<optionValuesLength;index++){var key=optionValues===optionValuesKeys?index:optionValuesKeys[index],value=optionValues[key],locals=getLocals(value,key),viewValue=viewValueFn(scope,locals),selectValue=getTrackByValueFn(viewValue,locals),label=displayFn(scope,locals),group=groupByFn(scope,locals),disabled=disableWhenFn(scope,locals),optionItem=new Option(selectValue,viewValue,label,group,disabled);optionItems.push(optionItem),selectValueMap[selectValue]=optionItem}return{items:optionItems,selectValueMap:selectValueMap,getOptionFromViewValue:function(value){return selectValueMap[getTrackByValue(value)]},getViewValueFromOption:function(option){return trackBy?copy(option.viewValue):option.viewValue}}}}}function ngOptionsPostLink(scope,selectElement,attr,ctrls){function addOptionElement(option,parent){var optionElement=optionTemplate.cloneNode(!1);parent.appendChild(optionElement),updateOptionElement(option,optionElement)}function getAndUpdateSelectedOption(viewValue){var option=options.getOptionFromViewValue(viewValue),element=option&&option.element;return element&&!element.selected&&(element.selected=!0),option}function updateOptionElement(option,element){option.element=element,element.disabled=option.disabled,option.label!==element.label&&(element.label=option.label,element.textContent=option.label),element.value=option.selectValue}function updateOptions(){var previousValue=options&&selectCtrl.readValue();if(options)for(var i=options.items.length-1;i>=0;i--){var option=options.items[i];jqLiteRemove(isDefined(option.group)?option.element.parentNode:option.element)}options=ngOptions.getOptions();var groupElementMap={};if(providedEmptyOption&&selectElement.prepend(selectCtrl.emptyOption),options.items.forEach(function(option){var groupElement;isDefined(option.group)?(groupElement=groupElementMap[option.group],groupElement||(groupElement=optGroupTemplate.cloneNode(!1),listFragment.appendChild(groupElement),groupElement.label=null===option.group?"null":option.group,groupElementMap[option.group]=groupElement),addOptionElement(option,groupElement)):addOptionElement(option,listFragment)}),selectElement[0].appendChild(listFragment),ngModelCtrl.$render(),!ngModelCtrl.$isEmpty(previousValue)){var nextValue=selectCtrl.readValue(),isNotPrimitive=ngOptions.trackBy||multiple;(isNotPrimitive?equals(previousValue,nextValue):previousValue===nextValue)||(ngModelCtrl.$setViewValue(nextValue),ngModelCtrl.$render())}}for(var selectCtrl=ctrls[0],ngModelCtrl=ctrls[1],multiple=attr.multiple,i=0,children=selectElement.children(),ii=children.length;i<ii;i++)if(""===children[i].value){selectCtrl.hasEmptyOption=!0,selectCtrl.emptyOption=children.eq(i);break}var providedEmptyOption=!!selectCtrl.emptyOption,unknownOption=jqLite(optionTemplate.cloneNode(!1));unknownOption.val("?");var options,ngOptions=parseOptionsExpression(attr.ngOptions,selectElement,scope),listFragment=$document[0].createDocumentFragment();selectCtrl.generateUnknownOptionValue=function(val){return"?"},multiple?(selectCtrl.writeValue=function(values){var selectedOptions=values&&values.map(getAndUpdateSelectedOption)||[];options.items.forEach(function(option){option.element.selected&&!includes(selectedOptions,option)&&(option.element.selected=!1)})},selectCtrl.readValue=function(){var selectedValues=selectElement.val()||[],selections=[];return forEach(selectedValues,function(value){var option=options.selectValueMap[value];option&&!option.disabled&&selections.push(options.getViewValueFromOption(option))}),selections},ngOptions.trackBy&&scope.$watchCollection(function(){if(isArray(ngModelCtrl.$viewValue))return ngModelCtrl.$viewValue.map(function(value){return ngOptions.getTrackByValue(value)})},function(){ngModelCtrl.$render()})):(selectCtrl.writeValue=function(value){var selectedOption=options.selectValueMap[selectElement.val()],option=options.getOptionFromViewValue(value);selectedOption&&selectedOption.element.removeAttribute("selected"),option?(selectElement[0].value!==option.selectValue&&(selectCtrl.removeUnknownOption(),selectCtrl.unselectEmptyOption(),selectElement[0].value=option.selectValue,option.element.selected=!0),option.element.setAttribute("selected","selected")):providedEmptyOption?selectCtrl.selectEmptyOption():selectCtrl.unknownOption.parent().length?selectCtrl.updateUnknownOption(value):selectCtrl.renderUnknownOption(value)},selectCtrl.readValue=function(){var selectedOption=options.selectValueMap[selectElement.val()];return selectedOption&&!selectedOption.disabled?(selectCtrl.unselectEmptyOption(),selectCtrl.removeUnknownOption(),options.getViewValueFromOption(selectedOption)):null},ngOptions.trackBy&&scope.$watch(function(){return ngOptions.getTrackByValue(ngModelCtrl.$viewValue)},function(){ngModelCtrl.$render()})),providedEmptyOption&&(selectCtrl.emptyOption.remove(),$compile(selectCtrl.emptyOption)(scope),selectCtrl.emptyOption[0].nodeType===NODE_TYPE_COMMENT?(selectCtrl.hasEmptyOption=!1,selectCtrl.registerOption=function(optionScope,optionEl){""===optionEl.val()&&(selectCtrl.hasEmptyOption=!0,selectCtrl.emptyOption=optionEl,selectCtrl.emptyOption.removeClass("ng-scope"),ngModelCtrl.$render(),optionEl.on("$destroy",function(){selectCtrl.hasEmptyOption=!1,selectCtrl.emptyOption=void 0}))}):selectCtrl.emptyOption.removeClass("ng-scope")),selectElement.empty(),updateOptions(),scope.$watchCollection(ngOptions.getWatchables,updateOptions)}var optionTemplate=window.document.createElement("option"),optGroupTemplate=window.document.createElement("optgroup");
+return{restrict:"A",terminal:!0,require:["select","ngModel"],link:{pre:function(scope,selectElement,attr,ctrls){ctrls[0].registerOption=noop},post:ngOptionsPostLink}}}],ngPluralizeDirective=["$locale","$interpolate","$log",function($locale,$interpolate,$log){var BRACE=/{}/g,IS_WHEN=/^when(Minus)?(.+)$/;return{link:function(scope,element,attr){function updateElementText(newText){element.text(newText||"")}var lastCount,numberExp=attr.count,whenExp=attr.$attr.when&&element.attr(attr.$attr.when),offset=attr.offset||0,whens=scope.$eval(whenExp)||{},whensExpFns={},startSymbol=$interpolate.startSymbol(),endSymbol=$interpolate.endSymbol(),braceReplacement=startSymbol+numberExp+"-"+offset+endSymbol,watchRemover=angular.noop;forEach(attr,function(expression,attributeName){var tmpMatch=IS_WHEN.exec(attributeName);if(tmpMatch){var whenKey=(tmpMatch[1]?"-":"")+lowercase(tmpMatch[2]);whens[whenKey]=element.attr(attr.$attr[attributeName])}}),forEach(whens,function(expression,key){whensExpFns[key]=$interpolate(expression.replace(BRACE,braceReplacement))}),scope.$watch(numberExp,function(newVal){var count=parseFloat(newVal),countIsNaN=isNumberNaN(count);if(countIsNaN||count in whens||(count=$locale.pluralCat(count-offset)),!(count===lastCount||countIsNaN&&isNumberNaN(lastCount))){watchRemover();var whenExpFn=whensExpFns[count];isUndefined(whenExpFn)?(null!=newVal&&$log.debug("ngPluralize: no rule defined for '"+count+"' in "+whenExp),watchRemover=noop,updateElementText()):watchRemover=scope.$watch(whenExpFn,updateElementText),lastCount=count}})}}}],ngRepeatDirective=["$parse","$animate","$compile",function($parse,$animate,$compile){var NG_REMOVED="$$NG_REMOVED",ngRepeatMinErr=minErr("ngRepeat"),updateScope=function(scope,index,valueIdentifier,value,keyIdentifier,key,arrayLength){scope[valueIdentifier]=value,keyIdentifier&&(scope[keyIdentifier]=key),scope.$index=index,scope.$first=0===index,scope.$last=index===arrayLength-1,scope.$middle=!(scope.$first||scope.$last),scope.$odd=!(scope.$even=0===(1&index))},getBlockStart=function(block){return block.clone[0]},getBlockEnd=function(block){return block.clone[block.clone.length-1]};return{restrict:"A",multiElement:!0,transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,compile:function($element,$attr){var expression=$attr.ngRepeat,ngRepeatEndComment=$compile.$$createComment("end ngRepeat",expression),match=expression.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+track\s+by\s+([\s\S]+?))?\s*$/);if(!match)throw ngRepeatMinErr("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",expression);var lhs=match[1],rhs=match[2],aliasAs=match[3],trackByExp=match[4];if(match=lhs.match(/^(?:(\s*[$\w]+)|\(\s*([$\w]+)\s*,\s*([$\w]+)\s*\))$/),!match)throw ngRepeatMinErr("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",lhs);var valueIdentifier=match[3]||match[1],keyIdentifier=match[2];if(aliasAs&&(!/^[$a-zA-Z_][$a-zA-Z0-9_]*$/.test(aliasAs)||/^(null|undefined|this|\$index|\$first|\$middle|\$last|\$even|\$odd|\$parent|\$root|\$id)$/.test(aliasAs)))throw ngRepeatMinErr("badident","alias '{0}' is invalid --- must be a valid JS identifier which is not a reserved name.",aliasAs);var trackByExpGetter,trackByIdExpFn,trackByIdArrayFn,trackByIdObjFn,hashFnLocals={$id:hashKey};return trackByExp?trackByExpGetter=$parse(trackByExp):(trackByIdArrayFn=function(key,value){return hashKey(value)},trackByIdObjFn=function(key){return key}),function($scope,$element,$attr,ctrl,$transclude){trackByExpGetter&&(trackByIdExpFn=function(key,value,index){return keyIdentifier&&(hashFnLocals[keyIdentifier]=key),hashFnLocals[valueIdentifier]=value,hashFnLocals.$index=index,trackByExpGetter($scope,hashFnLocals)});var lastBlockMap=createMap();$scope.$watchCollection(rhs,function(collection){var index,length,nextNode,collectionLength,key,value,trackById,trackByIdFn,collectionKeys,block,nextBlockOrder,elementsToRemove,previousNode=$element[0],nextBlockMap=createMap();if(aliasAs&&($scope[aliasAs]=collection),isArrayLike(collection))collectionKeys=collection,trackByIdFn=trackByIdExpFn||trackByIdArrayFn;else{trackByIdFn=trackByIdExpFn||trackByIdObjFn,collectionKeys=[];for(var itemKey in collection)hasOwnProperty.call(collection,itemKey)&&"$"!==itemKey.charAt(0)&&collectionKeys.push(itemKey)}for(collectionLength=collectionKeys.length,nextBlockOrder=new Array(collectionLength),index=0;index<collectionLength;index++)if(key=collection===collectionKeys?index:collectionKeys[index],value=collection[key],trackById=trackByIdFn(key,value,index),lastBlockMap[trackById])block=lastBlockMap[trackById],delete lastBlockMap[trackById],nextBlockMap[trackById]=block,nextBlockOrder[index]=block;else{if(nextBlockMap[trackById])throw forEach(nextBlockOrder,function(block){block&&block.scope&&(lastBlockMap[block.id]=block)}),ngRepeatMinErr("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",expression,trackById,value);nextBlockOrder[index]={id:trackById,scope:void 0,clone:void 0},nextBlockMap[trackById]=!0}for(var blockKey in lastBlockMap){if(block=lastBlockMap[blockKey],elementsToRemove=getBlockNodes(block.clone),$animate.leave(elementsToRemove),elementsToRemove[0].parentNode)for(index=0,length=elementsToRemove.length;index<length;index++)elementsToRemove[index][NG_REMOVED]=!0;block.scope.$destroy()}for(index=0;index<collectionLength;index++)if(key=collection===collectionKeys?index:collectionKeys[index],value=collection[key],block=nextBlockOrder[index],block.scope){nextNode=previousNode;do nextNode=nextNode.nextSibling;while(nextNode&&nextNode[NG_REMOVED]);getBlockStart(block)!==nextNode&&$animate.move(getBlockNodes(block.clone),null,previousNode),previousNode=getBlockEnd(block),updateScope(block.scope,index,valueIdentifier,value,keyIdentifier,key,collectionLength)}else $transclude(function(clone,scope){block.scope=scope;var endNode=ngRepeatEndComment.cloneNode(!1);clone[clone.length++]=endNode,$animate.enter(clone,null,previousNode),previousNode=endNode,block.clone=clone,nextBlockMap[block.id]=block,updateScope(block.scope,index,valueIdentifier,value,keyIdentifier,key,collectionLength)});lastBlockMap=nextBlockMap})}}}}],NG_HIDE_CLASS="ng-hide",NG_HIDE_IN_PROGRESS_CLASS="ng-hide-animate",ngShowDirective=["$animate",function($animate){return{restrict:"A",multiElement:!0,link:function(scope,element,attr){scope.$watch(attr.ngShow,function(value){$animate[value?"removeClass":"addClass"](element,NG_HIDE_CLASS,{tempClasses:NG_HIDE_IN_PROGRESS_CLASS})})}}}],ngHideDirective=["$animate",function($animate){return{restrict:"A",multiElement:!0,link:function(scope,element,attr){scope.$watch(attr.ngHide,function(value){$animate[value?"addClass":"removeClass"](element,NG_HIDE_CLASS,{tempClasses:NG_HIDE_IN_PROGRESS_CLASS})})}}}],ngStyleDirective=ngDirective(function(scope,element,attr){scope.$watch(attr.ngStyle,function(newStyles,oldStyles){oldStyles&&newStyles!==oldStyles&&forEach(oldStyles,function(val,style){element.css(style,"")}),newStyles&&element.css(newStyles)},!0)}),ngSwitchDirective=["$animate","$compile",function($animate,$compile){return{require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(scope,element,attr,ngSwitchController){var watchExpr=attr.ngSwitch||attr.on,selectedTranscludes=[],selectedElements=[],previousLeaveAnimations=[],selectedScopes=[],spliceFactory=function(array,index){return function(response){response!==!1&&array.splice(index,1)}};scope.$watch(watchExpr,function(value){for(var i,ii;previousLeaveAnimations.length;)$animate.cancel(previousLeaveAnimations.pop());for(i=0,ii=selectedScopes.length;i<ii;++i){var selected=getBlockNodes(selectedElements[i].clone);selectedScopes[i].$destroy();var runner=previousLeaveAnimations[i]=$animate.leave(selected);runner.done(spliceFactory(previousLeaveAnimations,i))}selectedElements.length=0,selectedScopes.length=0,(selectedTranscludes=ngSwitchController.cases["!"+value]||ngSwitchController.cases["?"])&&forEach(selectedTranscludes,function(selectedTransclude){selectedTransclude.transclude(function(caseElement,selectedScope){selectedScopes.push(selectedScope);var anchor=selectedTransclude.element;caseElement[caseElement.length++]=$compile.$$createComment("end ngSwitchWhen");var block={clone:caseElement};selectedElements.push(block),$animate.enter(caseElement,anchor.parent(),anchor)})})})}}}],ngSwitchWhenDirective=ngDirective({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(scope,element,attrs,ctrl,$transclude){var cases=attrs.ngSwitchWhen.split(attrs.ngSwitchWhenSeparator).sort().filter(function(element,index,array){return array[index-1]!==element});forEach(cases,function(whenCase){ctrl.cases["!"+whenCase]=ctrl.cases["!"+whenCase]||[],ctrl.cases["!"+whenCase].push({transclude:$transclude,element:element})})}}),ngSwitchDefaultDirective=ngDirective({transclude:"element",priority:1200,require:"^ngSwitch",multiElement:!0,link:function(scope,element,attr,ctrl,$transclude){ctrl.cases["?"]=ctrl.cases["?"]||[],ctrl.cases["?"].push({transclude:$transclude,element:element})}}),ngTranscludeMinErr=minErr("ngTransclude"),ngTranscludeDirective=["$compile",function($compile){return{restrict:"EAC",terminal:!0,compile:function(tElement){var fallbackLinkFn=$compile(tElement.contents());return tElement.empty(),function($scope,$element,$attrs,controller,$transclude){function ngTranscludeCloneAttachFn(clone,transcludedScope){clone.length&&notWhitespace(clone)?$element.append(clone):(useFallbackContent(),transcludedScope.$destroy())}function useFallbackContent(){fallbackLinkFn($scope,function(clone){$element.append(clone)})}function notWhitespace(nodes){for(var i=0,ii=nodes.length;i<ii;i++){var node=nodes[i];if(node.nodeType!==NODE_TYPE_TEXT||node.nodeValue.trim())return!0}}if(!$transclude)throw ngTranscludeMinErr("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",startingTag($element));$attrs.ngTransclude===$attrs.$attr.ngTransclude&&($attrs.ngTransclude="");var slotName=$attrs.ngTransclude||$attrs.ngTranscludeSlot;$transclude(ngTranscludeCloneAttachFn,null,slotName),slotName&&!$transclude.isSlotFilled(slotName)&&useFallbackContent()}}}}],scriptDirective=["$templateCache",function($templateCache){return{restrict:"E",terminal:!0,compile:function(element,attr){if("text/ng-template"===attr.type){var templateUrl=attr.id,text=element[0].text;$templateCache.put(templateUrl,text)}}}}],noopNgModelController={$setViewValue:noop,$render:noop},SelectController=["$element","$scope",function($element,$scope){function scheduleRender(){renderScheduled||(renderScheduled=!0,$scope.$$postDigest(function(){renderScheduled=!1,self.ngModelCtrl.$render()}))}function scheduleViewValueUpdate(renderAfter){updateScheduled||(updateScheduled=!0,$scope.$$postDigest(function(){$scope.$$destroyed||(updateScheduled=!1,self.ngModelCtrl.$setViewValue(self.readValue()),renderAfter&&self.ngModelCtrl.$render())}))}var self=this,optionsMap=new NgMap;self.selectValueMap={},self.ngModelCtrl=noopNgModelController,self.multiple=!1,self.unknownOption=jqLite(window.document.createElement("option")),self.hasEmptyOption=!1,self.emptyOption=void 0,self.renderUnknownOption=function(val){var unknownVal=self.generateUnknownOptionValue(val);self.unknownOption.val(unknownVal),$element.prepend(self.unknownOption),setOptionSelectedStatus(self.unknownOption,!0),$element.val(unknownVal)},self.updateUnknownOption=function(val){var unknownVal=self.generateUnknownOptionValue(val);self.unknownOption.val(unknownVal),setOptionSelectedStatus(self.unknownOption,!0),$element.val(unknownVal)},self.generateUnknownOptionValue=function(val){return"? "+hashKey(val)+" ?"},self.removeUnknownOption=function(){self.unknownOption.parent()&&self.unknownOption.remove()},self.selectEmptyOption=function(){self.emptyOption&&($element.val(""),setOptionSelectedStatus(self.emptyOption,!0))},self.unselectEmptyOption=function(){self.hasEmptyOption&&self.emptyOption.removeAttr("selected")},$scope.$on("$destroy",function(){self.renderUnknownOption=noop}),self.readValue=function(){var val=$element.val(),realVal=val in self.selectValueMap?self.selectValueMap[val]:val;return self.hasOption(realVal)?realVal:null},self.writeValue=function(value){var currentlySelectedOption=$element[0].options[$element[0].selectedIndex];if(currentlySelectedOption&&setOptionSelectedStatus(jqLite(currentlySelectedOption),!1),self.hasOption(value)){self.removeUnknownOption();var hashedVal=hashKey(value);$element.val(hashedVal in self.selectValueMap?hashedVal:value);var selectedOption=$element[0].options[$element[0].selectedIndex];setOptionSelectedStatus(jqLite(selectedOption),!0)}else null==value&&self.emptyOption?(self.removeUnknownOption(),self.selectEmptyOption()):self.unknownOption.parent().length?self.updateUnknownOption(value):self.renderUnknownOption(value)},self.addOption=function(value,element){if(element[0].nodeType!==NODE_TYPE_COMMENT){assertNotHasOwnProperty(value,'"option value"'),""===value&&(self.hasEmptyOption=!0,self.emptyOption=element);var count=optionsMap.get(value)||0;optionsMap.set(value,count+1),scheduleRender()}},self.removeOption=function(value){var count=optionsMap.get(value);count&&(1===count?(optionsMap["delete"](value),""===value&&(self.hasEmptyOption=!1,self.emptyOption=void 0)):optionsMap.set(value,count-1))},self.hasOption=function(value){return!!optionsMap.get(value)};var renderScheduled=!1,updateScheduled=!1;self.registerOption=function(optionScope,optionElement,optionAttrs,interpolateValueFn,interpolateTextFn){if(optionAttrs.$attr.ngValue){var oldVal,hashedVal=NaN;optionAttrs.$observe("value",function(newVal){var removal,previouslySelected=optionElement.prop("selected");isDefined(hashedVal)&&(self.removeOption(oldVal),delete self.selectValueMap[hashedVal],removal=!0),hashedVal=hashKey(newVal),oldVal=newVal,self.selectValueMap[hashedVal]=newVal,self.addOption(newVal,optionElement),optionElement.attr("value",hashedVal),removal&&previouslySelected&&scheduleViewValueUpdate()})}else interpolateValueFn?optionAttrs.$observe("value",function(newVal){self.readValue();var removal,previouslySelected=optionElement.prop("selected");isDefined(oldVal)&&(self.removeOption(oldVal),removal=!0),oldVal=newVal,self.addOption(newVal,optionElement),removal&&previouslySelected&&scheduleViewValueUpdate()}):interpolateTextFn?optionScope.$watch(interpolateTextFn,function(newVal,oldVal){optionAttrs.$set("value",newVal);var previouslySelected=optionElement.prop("selected");oldVal!==newVal&&self.removeOption(oldVal),self.addOption(newVal,optionElement),oldVal&&previouslySelected&&scheduleViewValueUpdate()}):self.addOption(optionAttrs.value,optionElement);optionAttrs.$observe("disabled",function(newVal){("true"===newVal||newVal&&optionElement.prop("selected"))&&(self.multiple?scheduleViewValueUpdate(!0):(self.ngModelCtrl.$setViewValue(null),self.ngModelCtrl.$render()))}),optionElement.on("$destroy",function(){var currentValue=self.readValue(),removeValue=optionAttrs.value;self.removeOption(removeValue),scheduleRender(),(self.multiple&&currentValue&&currentValue.indexOf(removeValue)!==-1||currentValue===removeValue)&&scheduleViewValueUpdate(!0)})}}],selectDirective=function(){function selectPreLink(scope,element,attr,ctrls){var selectCtrl=ctrls[0],ngModelCtrl=ctrls[1];if(!ngModelCtrl)return void(selectCtrl.registerOption=noop);if(selectCtrl.ngModelCtrl=ngModelCtrl,element.on("change",function(){selectCtrl.removeUnknownOption(),scope.$apply(function(){ngModelCtrl.$setViewValue(selectCtrl.readValue())})}),attr.multiple){selectCtrl.multiple=!0,selectCtrl.readValue=function(){var array=[];return forEach(element.find("option"),function(option){if(option.selected&&!option.disabled){var val=option.value;array.push(val in selectCtrl.selectValueMap?selectCtrl.selectValueMap[val]:val)}}),array},selectCtrl.writeValue=function(value){forEach(element.find("option"),function(option){var shouldBeSelected=!!value&&(includes(value,option.value)||includes(value,selectCtrl.selectValueMap[option.value])),currentlySelected=option.selected;shouldBeSelected!==currentlySelected&&setOptionSelectedStatus(jqLite(option),shouldBeSelected)})};var lastView,lastViewRef=NaN;scope.$watch(function(){lastViewRef!==ngModelCtrl.$viewValue||equals(lastView,ngModelCtrl.$viewValue)||(lastView=shallowCopy(ngModelCtrl.$viewValue),ngModelCtrl.$render()),lastViewRef=ngModelCtrl.$viewValue}),ngModelCtrl.$isEmpty=function(value){return!value||0===value.length}}}function selectPostLink(scope,element,attrs,ctrls){var ngModelCtrl=ctrls[1];if(ngModelCtrl){var selectCtrl=ctrls[0];ngModelCtrl.$render=function(){selectCtrl.writeValue(ngModelCtrl.$viewValue)}}}return{restrict:"E",require:["select","?ngModel"],controller:SelectController,priority:1,link:{pre:selectPreLink,post:selectPostLink}}},optionDirective=["$interpolate",function($interpolate){return{restrict:"E",priority:100,compile:function(element,attr){var interpolateValueFn,interpolateTextFn;return isDefined(attr.ngValue)||(isDefined(attr.value)?interpolateValueFn=$interpolate(attr.value,!0):(interpolateTextFn=$interpolate(element.text(),!0),interpolateTextFn||attr.$set("value",element.text()))),function(scope,element,attr){var selectCtrlName="$selectController",parent=element.parent(),selectCtrl=parent.data(selectCtrlName)||parent.parent().data(selectCtrlName);selectCtrl&&selectCtrl.registerOption(scope,element,attr,interpolateValueFn,interpolateTextFn)}}}}],requiredDirective=function(){return{restrict:"A",require:"?ngModel",link:function(scope,elm,attr,ctrl){ctrl&&(attr.required=!0,ctrl.$validators.required=function(modelValue,viewValue){return!attr.required||!ctrl.$isEmpty(viewValue)},attr.$observe("required",function(){ctrl.$validate()}))}}},patternDirective=function(){return{restrict:"A",require:"?ngModel",link:function(scope,elm,attr,ctrl){if(ctrl){var regexp,patternExp=attr.ngPattern||attr.pattern;attr.$observe("pattern",function(regex){if(isString(regex)&&regex.length>0&&(regex=new RegExp("^"+regex+"$")),regex&&!regex.test)throw minErr("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",patternExp,regex,startingTag(elm));regexp=regex||void 0,ctrl.$validate()}),ctrl.$validators.pattern=function(modelValue,viewValue){return ctrl.$isEmpty(viewValue)||isUndefined(regexp)||regexp.test(viewValue)}}}}},maxlengthDirective=function(){return{restrict:"A",require:"?ngModel",link:function(scope,elm,attr,ctrl){if(ctrl){var maxlength=-1;attr.$observe("maxlength",function(value){var intVal=toInt(value);maxlength=isNumberNaN(intVal)?-1:intVal,ctrl.$validate()}),ctrl.$validators.maxlength=function(modelValue,viewValue){return maxlength<0||ctrl.$isEmpty(viewValue)||viewValue.length<=maxlength}}}}},minlengthDirective=function(){return{restrict:"A",require:"?ngModel",link:function(scope,elm,attr,ctrl){if(ctrl){var minlength=0;attr.$observe("minlength",function(value){minlength=toInt(value)||0,ctrl.$validate()}),ctrl.$validators.minlength=function(modelValue,viewValue){return ctrl.$isEmpty(viewValue)||viewValue.length>=minlength}}}}};return window.angular.bootstrap?void(window.console&&console.log("WARNING: Tried to load angular more than once.")):(bindJQuery(),publishExternalAPI(angular),angular.module("ngLocale",[],["$provide",function($provide){function getDecimals(n){n+="";var i=n.indexOf(".");return i==-1?0:n.length-i-1}function getVF(n,opt_precision){var v=opt_precision;void 0===v&&(v=Math.min(getDecimals(n),3));var base=Math.pow(10,v),f=(n*base|0)%base;return{v:v,f:f}}var PLURAL_CATEGORY={ZERO:"zero",ONE:"one",TWO:"two",FEW:"few",MANY:"many",OTHER:"other"};$provide.value("$locale",{DATETIME_FORMATS:{AMPMS:["AM","PM"],DAY:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ERANAMES:["Before Christ","Anno Domini"],ERAS:["BC","AD"],FIRSTDAYOFWEEK:6,MONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],SHORTDAY:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SHORTMONTH:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],STANDALONEMONTH:["January","February","March","April","May","June","July","August","September","October","November","December"],WEEKENDRANGE:[5,6],fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",medium:"MMM d, y h:mm:ss a",mediumDate:"MMM d, y",mediumTime:"h:mm:ss a","short":"M/d/yy h:mm a",shortDate:"M/d/yy",shortTime:"h:mm a"},NUMBER_FORMATS:{CURRENCY_SYM:"$",DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{gSize:3,lgSize:3,maxFrac:3,minFrac:0,minInt:1,negPre:"-",negSuf:"",posPre:"",posSuf:""},{gSize:3,lgSize:3,maxFrac:2,minFrac:2,minInt:1,negPre:"-¤",negSuf:"",posPre:"¤",posSuf:""}]},id:"en-us",localeID:"en_US",pluralCat:function(n,opt_precision){var i=0|n,vf=getVF(n,opt_precision);return 1==i&&0==vf.v?PLURAL_CATEGORY.ONE:PLURAL_CATEGORY.OTHER}})}]),void jqLite(function(){angularInit(window.document,bootstrap)}))}(window),!window.angular.$$csp().noInlineStyle&&window.angular.element(document.head).prepend('<style type="text/css">@charset "UTF-8";[ng\\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>')},function(module,exports,__webpack_require__){(function(jQuery){+function($){"use strict";function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.affix"),options="object"==typeof option&&option;data||$this.data("bs.affix",data=new Affix(this,options)),"string"==typeof option&&data[option]()})}var Affix=function(element,options){this.options=$.extend({},Affix.DEFAULTS,options),this.$target=$(this.options.target).on("scroll.bs.affix.data-api",$.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",$.proxy(this.checkPositionWithEventLoop,this)),this.$element=$(element),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};Affix.VERSION="3.3.7",Affix.RESET="affix affix-top affix-bottom",Affix.DEFAULTS={offset:0,target:window},Affix.prototype.getState=function(scrollHeight,height,offsetTop,offsetBottom){var scrollTop=this.$target.scrollTop(),position=this.$element.offset(),targetHeight=this.$target.height();if(null!=offsetTop&&"top"==this.affixed)return scrollTop<offsetTop&&"top";if("bottom"==this.affixed)return null!=offsetTop?!(scrollTop+this.unpin<=position.top)&&"bottom":!(scrollTop+targetHeight<=scrollHeight-offsetBottom)&&"bottom";var initializing=null==this.affixed,colliderTop=initializing?scrollTop:position.top,colliderHeight=initializing?targetHeight:height;return null!=offsetTop&&scrollTop<=offsetTop?"top":null!=offsetBottom&&colliderTop+colliderHeight>=scrollHeight-offsetBottom&&"bottom"},Affix.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(Affix.RESET).addClass("affix");var scrollTop=this.$target.scrollTop(),position=this.$element.offset();return this.pinnedOffset=position.top-scrollTop},Affix.prototype.checkPositionWithEventLoop=function(){setTimeout($.proxy(this.checkPosition,this),1)},Affix.prototype.checkPosition=function(){if(this.$element.is(":visible")){var height=this.$element.height(),offset=this.options.offset,offsetTop=offset.top,offsetBottom=offset.bottom,scrollHeight=Math.max($(document).height(),$(document.body).height());"object"!=typeof offset&&(offsetBottom=offsetTop=offset),"function"==typeof offsetTop&&(offsetTop=offset.top(this.$element)),"function"==typeof offsetBottom&&(offsetBottom=offset.bottom(this.$element));var affix=this.getState(scrollHeight,height,offsetTop,offsetBottom);if(this.affixed!=affix){null!=this.unpin&&this.$element.css("top","");var affixType="affix"+(affix?"-"+affix:""),e=$.Event(affixType+".bs.affix");if(this.$element.trigger(e),e.isDefaultPrevented())return;this.affixed=affix,this.unpin="bottom"==affix?this.getPinnedOffset():null,this.$element.removeClass(Affix.RESET).addClass(affixType).trigger(affixType.replace("affix","affixed")+".bs.affix")}"bottom"==affix&&this.$element.offset({top:scrollHeight-height-offsetBottom})}};var old=$.fn.affix;$.fn.affix=Plugin,$.fn.affix.Constructor=Affix,$.fn.affix.noConflict=function(){return $.fn.affix=old,this},$(window).on("load",function(){$('[data-spy="affix"]').each(function(){var $spy=$(this),data=$spy.data();data.offset=data.offset||{},null!=data.offsetBottom&&(data.offset.bottom=data.offsetBottom),null!=data.offsetTop&&(data.offset.top=data.offsetTop),Plugin.call($spy,data)})})}(jQuery)}).call(exports,__webpack_require__(11))},function(module,exports,__webpack_require__){(function(jQuery){+function($){"use strict";function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.alert");data||$this.data("bs.alert",data=new Alert(this)),"string"==typeof option&&data[option].call($this)})}var dismiss='[data-dismiss="alert"]',Alert=function(el){$(el).on("click",dismiss,this.close)};Alert.VERSION="3.3.7",Alert.TRANSITION_DURATION=150,Alert.prototype.close=function(e){function removeElement(){$parent.detach().trigger("closed.bs.alert").remove()}var $this=$(this),selector=$this.attr("data-target");selector||(selector=$this.attr("href"),selector=selector&&selector.replace(/.*(?=#[^\s]*$)/,""));var $parent=$("#"===selector?[]:selector);e&&e.preventDefault(),$parent.length||($parent=$this.closest(".alert")),$parent.trigger(e=$.Event("close.bs.alert")),e.isDefaultPrevented()||($parent.removeClass("in"),$.support.transition&&$parent.hasClass("fade")?$parent.one("bsTransitionEnd",removeElement).emulateTransitionEnd(Alert.TRANSITION_DURATION):removeElement())};var old=$.fn.alert;$.fn.alert=Plugin,$.fn.alert.Constructor=Alert,$.fn.alert.noConflict=function(){return $.fn.alert=old,this},$(document).on("click.bs.alert.data-api",dismiss,Alert.prototype.close)}(jQuery)}).call(exports,__webpack_require__(11))},function(module,exports,__webpack_require__){(function(jQuery){+function($){"use strict";function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.button"),options="object"==typeof option&&option;data||$this.data("bs.button",data=new Button(this,options)),"toggle"==option?data.toggle():option&&data.setState(option)})}var Button=function(element,options){this.$element=$(element),this.options=$.extend({},Button.DEFAULTS,options),this.isLoading=!1};Button.VERSION="3.3.7",Button.DEFAULTS={loadingText:"loading..."},Button.prototype.setState=function(state){var d="disabled",$el=this.$element,val=$el.is("input")?"val":"html",data=$el.data();state+="Text",null==data.resetText&&$el.data("resetText",$el[val]()),setTimeout($.proxy(function(){$el[val](null==data[state]?this.options[state]:data[state]),"loadingText"==state?(this.isLoading=!0,$el.addClass(d).attr(d,d).prop(d,!0)):this.isLoading&&(this.isLoading=!1,$el.removeClass(d).removeAttr(d).prop(d,!1))},this),0)},Button.prototype.toggle=function(){var changed=!0,$parent=this.$element.closest('[data-toggle="buttons"]');if($parent.length){var $input=this.$element.find("input");"radio"==$input.prop("type")?($input.prop("checked")&&(changed=!1),$parent.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==$input.prop("type")&&($input.prop("checked")!==this.$element.hasClass("active")&&(changed=!1),this.$element.toggleClass("active")),$input.prop("checked",this.$element.hasClass("active")),changed&&$input.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var old=$.fn.button;$.fn.button=Plugin,$.fn.button.Constructor=Button,$.fn.button.noConflict=function(){return $.fn.button=old,this},$(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(e){var $btn=$(e.target).closest(".btn");Plugin.call($btn,"toggle"),$(e.target).is('input[type="radio"], input[type="checkbox"]')||(e.preventDefault(),$btn.is("input,button")?$btn.trigger("focus"):$btn.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(e){$(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery)}).call(exports,__webpack_require__(11))},function(module,exports,__webpack_require__){(function(jQuery){+function($){"use strict";function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.carousel"),options=$.extend({},Carousel.DEFAULTS,$this.data(),"object"==typeof option&&option),action="string"==typeof option?option:options.slide;data||$this.data("bs.carousel",data=new Carousel(this,options)),"number"==typeof option?data.to(option):action?data[action]():options.interval&&data.pause().cycle()})}var Carousel=function(element,options){this.$element=$(element),this.$indicators=this.$element.find(".carousel-indicators"),this.options=options,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",$.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",$.proxy(this.pause,this)).on("mouseleave.bs.carousel",$.proxy(this.cycle,this))};Carousel.VERSION="3.3.7",Carousel.TRANSITION_DURATION=600,Carousel.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},Carousel.prototype.keydown=function(e){if(!/input|textarea/i.test(e.target.tagName)){switch(e.which){case 37:this.prev();break;case 39:this.next();break;default:return}e.preventDefault()}},Carousel.prototype.cycle=function(e){return e||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval($.proxy(this.next,this),this.options.interval)),this},Carousel.prototype.getItemIndex=function(item){return this.$items=item.parent().children(".item"),this.$items.index(item||this.$active)},Carousel.prototype.getItemForDirection=function(direction,active){var activeIndex=this.getItemIndex(active),willWrap="prev"==direction&&0===activeIndex||"next"==direction&&activeIndex==this.$items.length-1;if(willWrap&&!this.options.wrap)return active;var delta="prev"==direction?-1:1,itemIndex=(activeIndex+delta)%this.$items.length;return this.$items.eq(itemIndex)},Carousel.prototype.to=function(pos){var that=this,activeIndex=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(pos>this.$items.length-1||pos<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){that.to(pos)}):activeIndex==pos?this.pause().cycle():this.slide(pos>activeIndex?"next":"prev",this.$items.eq(pos))},Carousel.prototype.pause=function(e){return e||(this.paused=!0),this.$element.find(".next, .prev").length&&$.support.transition&&(this.$element.trigger($.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},Carousel.prototype.next=function(){if(!this.sliding)return this.slide("next")},Carousel.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},Carousel.prototype.slide=function(type,next){var $active=this.$element.find(".item.active"),$next=next||this.getItemForDirection(type,$active),isCycling=this.interval,direction="next"==type?"left":"right",that=this;if($next.hasClass("active"))return this.sliding=!1;var relatedTarget=$next[0],slideEvent=$.Event("slide.bs.carousel",{relatedTarget:relatedTarget,direction:direction});if(this.$element.trigger(slideEvent),!slideEvent.isDefaultPrevented()){if(this.sliding=!0,isCycling&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var $nextIndicator=$(this.$indicators.children()[this.getItemIndex($next)]);$nextIndicator&&$nextIndicator.addClass("active")}var slidEvent=$.Event("slid.bs.carousel",{
+relatedTarget:relatedTarget,direction:direction});return $.support.transition&&this.$element.hasClass("slide")?($next.addClass(type),$next[0].offsetWidth,$active.addClass(direction),$next.addClass(direction),$active.one("bsTransitionEnd",function(){$next.removeClass([type,direction].join(" ")).addClass("active"),$active.removeClass(["active",direction].join(" ")),that.sliding=!1,setTimeout(function(){that.$element.trigger(slidEvent)},0)}).emulateTransitionEnd(Carousel.TRANSITION_DURATION)):($active.removeClass("active"),$next.addClass("active"),this.sliding=!1,this.$element.trigger(slidEvent)),isCycling&&this.cycle(),this}};var old=$.fn.carousel;$.fn.carousel=Plugin,$.fn.carousel.Constructor=Carousel,$.fn.carousel.noConflict=function(){return $.fn.carousel=old,this};var clickHandler=function(e){var href,$this=$(this),$target=$($this.attr("data-target")||(href=$this.attr("href"))&&href.replace(/.*(?=#[^\s]+$)/,""));if($target.hasClass("carousel")){var options=$.extend({},$target.data(),$this.data()),slideIndex=$this.attr("data-slide-to");slideIndex&&(options.interval=!1),Plugin.call($target,options),slideIndex&&$target.data("bs.carousel").to(slideIndex),e.preventDefault()}};$(document).on("click.bs.carousel.data-api","[data-slide]",clickHandler).on("click.bs.carousel.data-api","[data-slide-to]",clickHandler),$(window).on("load",function(){$('[data-ride="carousel"]').each(function(){var $carousel=$(this);Plugin.call($carousel,$carousel.data())})})}(jQuery)}).call(exports,__webpack_require__(11))},function(module,exports,__webpack_require__){(function(jQuery){+function($){"use strict";function getTargetFromTrigger($trigger){var href,target=$trigger.attr("data-target")||(href=$trigger.attr("href"))&&href.replace(/.*(?=#[^\s]+$)/,"");return $(target)}function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.collapse"),options=$.extend({},Collapse.DEFAULTS,$this.data(),"object"==typeof option&&option);!data&&options.toggle&&/show|hide/.test(option)&&(options.toggle=!1),data||$this.data("bs.collapse",data=new Collapse(this,options)),"string"==typeof option&&data[option]()})}var Collapse=function(element,options){this.$element=$(element),this.options=$.extend({},Collapse.DEFAULTS,options),this.$trigger=$('[data-toggle="collapse"][href="#'+element.id+'"],[data-toggle="collapse"][data-target="#'+element.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};Collapse.VERSION="3.3.7",Collapse.TRANSITION_DURATION=350,Collapse.DEFAULTS={toggle:!0},Collapse.prototype.dimension=function(){var hasWidth=this.$element.hasClass("width");return hasWidth?"width":"height"},Collapse.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var activesData,actives=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(actives&&actives.length&&(activesData=actives.data("bs.collapse"),activesData&&activesData.transitioning))){var startEvent=$.Event("show.bs.collapse");if(this.$element.trigger(startEvent),!startEvent.isDefaultPrevented()){actives&&actives.length&&(Plugin.call(actives,"hide"),activesData||actives.data("bs.collapse",null));var dimension=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[dimension](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var complete=function(){this.$element.removeClass("collapsing").addClass("collapse in")[dimension](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!$.support.transition)return complete.call(this);var scrollSize=$.camelCase(["scroll",dimension].join("-"));this.$element.one("bsTransitionEnd",$.proxy(complete,this)).emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])}}}},Collapse.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var startEvent=$.Event("hide.bs.collapse");if(this.$element.trigger(startEvent),!startEvent.isDefaultPrevented()){var dimension=this.dimension();this.$element[dimension](this.$element[dimension]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var complete=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return $.support.transition?void this.$element[dimension](0).one("bsTransitionEnd",$.proxy(complete,this)).emulateTransitionEnd(Collapse.TRANSITION_DURATION):complete.call(this)}}},Collapse.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},Collapse.prototype.getParent=function(){return $(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each($.proxy(function(i,element){var $element=$(element);this.addAriaAndCollapsedClass(getTargetFromTrigger($element),$element)},this)).end()},Collapse.prototype.addAriaAndCollapsedClass=function($element,$trigger){var isOpen=$element.hasClass("in");$element.attr("aria-expanded",isOpen),$trigger.toggleClass("collapsed",!isOpen).attr("aria-expanded",isOpen)};var old=$.fn.collapse;$.fn.collapse=Plugin,$.fn.collapse.Constructor=Collapse,$.fn.collapse.noConflict=function(){return $.fn.collapse=old,this},$(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(e){var $this=$(this);$this.attr("data-target")||e.preventDefault();var $target=getTargetFromTrigger($this),data=$target.data("bs.collapse"),option=data?"toggle":$this.data();Plugin.call($target,option)})}(jQuery)}).call(exports,__webpack_require__(11))},function(module,exports,__webpack_require__){(function(jQuery){+function($){"use strict";function getParent($this){var selector=$this.attr("data-target");selector||(selector=$this.attr("href"),selector=selector&&/#[A-Za-z]/.test(selector)&&selector.replace(/.*(?=#[^\s]*$)/,""));var $parent=selector&&$(selector);return $parent&&$parent.length?$parent:$this.parent()}function clearMenus(e){e&&3===e.which||($(backdrop).remove(),$(toggle).each(function(){var $this=$(this),$parent=getParent($this),relatedTarget={relatedTarget:this};$parent.hasClass("open")&&(e&&"click"==e.type&&/input|textarea/i.test(e.target.tagName)&&$.contains($parent[0],e.target)||($parent.trigger(e=$.Event("hide.bs.dropdown",relatedTarget)),e.isDefaultPrevented()||($this.attr("aria-expanded","false"),$parent.removeClass("open").trigger($.Event("hidden.bs.dropdown",relatedTarget)))))}))}function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.dropdown");data||$this.data("bs.dropdown",data=new Dropdown(this)),"string"==typeof option&&data[option].call($this)})}var backdrop=".dropdown-backdrop",toggle='[data-toggle="dropdown"]',Dropdown=function(element){$(element).on("click.bs.dropdown",this.toggle)};Dropdown.VERSION="3.3.7",Dropdown.prototype.toggle=function(e){var $this=$(this);if(!$this.is(".disabled, :disabled")){var $parent=getParent($this),isActive=$parent.hasClass("open");if(clearMenus(),!isActive){"ontouchstart"in document.documentElement&&!$parent.closest(".navbar-nav").length&&$(document.createElement("div")).addClass("dropdown-backdrop").insertAfter($(this)).on("click",clearMenus);var relatedTarget={relatedTarget:this};if($parent.trigger(e=$.Event("show.bs.dropdown",relatedTarget)),e.isDefaultPrevented())return;$this.trigger("focus").attr("aria-expanded","true"),$parent.toggleClass("open").trigger($.Event("shown.bs.dropdown",relatedTarget))}return!1}},Dropdown.prototype.keydown=function(e){if(/(38|40|27|32)/.test(e.which)&&!/input|textarea/i.test(e.target.tagName)){var $this=$(this);if(e.preventDefault(),e.stopPropagation(),!$this.is(".disabled, :disabled")){var $parent=getParent($this),isActive=$parent.hasClass("open");if(!isActive&&27!=e.which||isActive&&27==e.which)return 27==e.which&&$parent.find(toggle).trigger("focus"),$this.trigger("click");var desc=" li:not(.disabled):visible a",$items=$parent.find(".dropdown-menu"+desc);if($items.length){var index=$items.index(e.target);38==e.which&&index>0&&index--,40==e.which&&index<$items.length-1&&index++,~index||(index=0),$items.eq(index).trigger("focus")}}}};var old=$.fn.dropdown;$.fn.dropdown=Plugin,$.fn.dropdown.Constructor=Dropdown,$.fn.dropdown.noConflict=function(){return $.fn.dropdown=old,this},$(document).on("click.bs.dropdown.data-api",clearMenus).on("click.bs.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.bs.dropdown.data-api",toggle,Dropdown.prototype.toggle).on("keydown.bs.dropdown.data-api",toggle,Dropdown.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",Dropdown.prototype.keydown)}(jQuery)}).call(exports,__webpack_require__(11))},function(module,exports,__webpack_require__){(function(jQuery){+function($){"use strict";function Plugin(option,_relatedTarget){return this.each(function(){var $this=$(this),data=$this.data("bs.modal"),options=$.extend({},Modal.DEFAULTS,$this.data(),"object"==typeof option&&option);data||$this.data("bs.modal",data=new Modal(this,options)),"string"==typeof option?data[option](_relatedTarget):options.show&&data.show(_relatedTarget)})}var Modal=function(element,options){this.options=options,this.$body=$(document.body),this.$element=$(element),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,$.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};Modal.VERSION="3.3.7",Modal.TRANSITION_DURATION=300,Modal.BACKDROP_TRANSITION_DURATION=150,Modal.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},Modal.prototype.toggle=function(_relatedTarget){return this.isShown?this.hide():this.show(_relatedTarget)},Modal.prototype.show=function(_relatedTarget){var that=this,e=$.Event("show.bs.modal",{relatedTarget:_relatedTarget});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',$.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){that.$element.one("mouseup.dismiss.bs.modal",function(e){$(e.target).is(that.$element)&&(that.ignoreBackdropClick=!0)})}),this.backdrop(function(){var transition=$.support.transition&&that.$element.hasClass("fade");that.$element.parent().length||that.$element.appendTo(that.$body),that.$element.show().scrollTop(0),that.adjustDialog(),transition&&that.$element[0].offsetWidth,that.$element.addClass("in"),that.enforceFocus();var e=$.Event("shown.bs.modal",{relatedTarget:_relatedTarget});transition?that.$dialog.one("bsTransitionEnd",function(){that.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(Modal.TRANSITION_DURATION):that.$element.trigger("focus").trigger(e)}))},Modal.prototype.hide=function(e){e&&e.preventDefault(),e=$.Event("hide.bs.modal"),this.$element.trigger(e),this.isShown&&!e.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),$(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),$.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",$.proxy(this.hideModal,this)).emulateTransitionEnd(Modal.TRANSITION_DURATION):this.hideModal())},Modal.prototype.enforceFocus=function(){$(document).off("focusin.bs.modal").on("focusin.bs.modal",$.proxy(function(e){document===e.target||this.$element[0]===e.target||this.$element.has(e.target).length||this.$element.trigger("focus")},this))},Modal.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",$.proxy(function(e){27==e.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},Modal.prototype.resize=function(){this.isShown?$(window).on("resize.bs.modal",$.proxy(this.handleUpdate,this)):$(window).off("resize.bs.modal")},Modal.prototype.hideModal=function(){var that=this;this.$element.hide(),this.backdrop(function(){that.$body.removeClass("modal-open"),that.resetAdjustments(),that.resetScrollbar(),that.$element.trigger("hidden.bs.modal")})},Modal.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},Modal.prototype.backdrop=function(callback){var that=this,animate=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var doAnimate=$.support.transition&&animate;if(this.$backdrop=$(document.createElement("div")).addClass("modal-backdrop "+animate).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",$.proxy(function(e){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(e.target===e.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),doAnimate&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!callback)return;doAnimate?this.$backdrop.one("bsTransitionEnd",callback).emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION):callback()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var callbackRemove=function(){that.removeBackdrop(),callback&&callback()};$.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",callbackRemove).emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION):callbackRemove()}else callback&&callback()},Modal.prototype.handleUpdate=function(){this.adjustDialog()},Modal.prototype.adjustDialog=function(){var modalIsOverflowing=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&modalIsOverflowing?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!modalIsOverflowing?this.scrollbarWidth:""})},Modal.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},Modal.prototype.checkScrollbar=function(){var fullWindowWidth=window.innerWidth;if(!fullWindowWidth){var documentElementRect=document.documentElement.getBoundingClientRect();fullWindowWidth=documentElementRect.right-Math.abs(documentElementRect.left)}this.bodyIsOverflowing=document.body.clientWidth<fullWindowWidth,this.scrollbarWidth=this.measureScrollbar()},Modal.prototype.setScrollbar=function(){var bodyPad=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",bodyPad+this.scrollbarWidth)},Modal.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},Modal.prototype.measureScrollbar=function(){var scrollDiv=document.createElement("div");scrollDiv.className="modal-scrollbar-measure",this.$body.append(scrollDiv);var scrollbarWidth=scrollDiv.offsetWidth-scrollDiv.clientWidth;return this.$body[0].removeChild(scrollDiv),scrollbarWidth};var old=$.fn.modal;$.fn.modal=Plugin,$.fn.modal.Constructor=Modal,$.fn.modal.noConflict=function(){return $.fn.modal=old,this},$(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(e){var $this=$(this),href=$this.attr("href"),$target=$($this.attr("data-target")||href&&href.replace(/.*(?=#[^\s]+$)/,"")),option=$target.data("bs.modal")?"toggle":$.extend({remote:!/#/.test(href)&&href},$target.data(),$this.data());$this.is("a")&&e.preventDefault(),$target.one("show.bs.modal",function(showEvent){showEvent.isDefaultPrevented()||$target.one("hidden.bs.modal",function(){$this.is(":visible")&&$this.trigger("focus")})}),Plugin.call($target,option,this)})}(jQuery)}).call(exports,__webpack_require__(11))},function(module,exports,__webpack_require__){(function(jQuery){+function($){"use strict";function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.popover"),options="object"==typeof option&&option;!data&&/destroy|hide/.test(option)||(data||$this.data("bs.popover",data=new Popover(this,options)),"string"==typeof option&&data[option]())})}var Popover=function(element,options){this.init("popover",element,options)};if(!$.fn.tooltip)throw new Error("Popover requires tooltip.js");Popover.VERSION="3.3.7",Popover.DEFAULTS=$.extend({},$.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),Popover.prototype=$.extend({},$.fn.tooltip.Constructor.prototype),Popover.prototype.constructor=Popover,Popover.prototype.getDefaults=function(){return Popover.DEFAULTS},Popover.prototype.setContent=function(){var $tip=this.tip(),title=this.getTitle(),content=this.getContent();$tip.find(".popover-title")[this.options.html?"html":"text"](title),$tip.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof content?"html":"append":"text"](content),$tip.removeClass("fade top bottom left right in"),$tip.find(".popover-title").html()||$tip.find(".popover-title").hide()},Popover.prototype.hasContent=function(){return this.getTitle()||this.getContent()},Popover.prototype.getContent=function(){var $e=this.$element,o=this.options;return $e.attr("data-content")||("function"==typeof o.content?o.content.call($e[0]):o.content)},Popover.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var old=$.fn.popover;$.fn.popover=Plugin,$.fn.popover.Constructor=Popover,$.fn.popover.noConflict=function(){return $.fn.popover=old,this}}(jQuery)}).call(exports,__webpack_require__(11))},function(module,exports,__webpack_require__){(function(jQuery){+function($){"use strict";function ScrollSpy(element,options){this.$body=$(document.body),this.$scrollElement=$($(element).is(document.body)?window:element),this.options=$.extend({},ScrollSpy.DEFAULTS,options),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",$.proxy(this.process,this)),this.refresh(),this.process()}function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.scrollspy"),options="object"==typeof option&&option;data||$this.data("bs.scrollspy",data=new ScrollSpy(this,options)),"string"==typeof option&&data[option]()})}ScrollSpy.VERSION="3.3.7",ScrollSpy.DEFAULTS={offset:10},ScrollSpy.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},ScrollSpy.prototype.refresh=function(){var that=this,offsetMethod="offset",offsetBase=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),$.isWindow(this.$scrollElement[0])||(offsetMethod="position",offsetBase=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var $el=$(this),href=$el.data("target")||$el.attr("href"),$href=/^#./.test(href)&&$(href);return $href&&$href.length&&$href.is(":visible")&&[[$href[offsetMethod]().top+offsetBase,href]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){that.offsets.push(this[0]),that.targets.push(this[1])})},ScrollSpy.prototype.process=function(){var i,scrollTop=this.$scrollElement.scrollTop()+this.options.offset,scrollHeight=this.getScrollHeight(),maxScroll=this.options.offset+scrollHeight-this.$scrollElement.height(),offsets=this.offsets,targets=this.targets,activeTarget=this.activeTarget;if(this.scrollHeight!=scrollHeight&&this.refresh(),scrollTop>=maxScroll)return activeTarget!=(i=targets[targets.length-1])&&this.activate(i);if(activeTarget&&scrollTop<offsets[0])return this.activeTarget=null,this.clear();for(i=offsets.length;i--;)activeTarget!=targets[i]&&scrollTop>=offsets[i]&&(void 0===offsets[i+1]||scrollTop<offsets[i+1])&&this.activate(targets[i])},ScrollSpy.prototype.activate=function(target){this.activeTarget=target,this.clear();var selector=this.selector+'[data-target="'+target+'"],'+this.selector+'[href="'+target+'"]',active=$(selector).parents("li").addClass("active");active.parent(".dropdown-menu").length&&(active=active.closest("li.dropdown").addClass("active")),active.trigger("activate.bs.scrollspy")},ScrollSpy.prototype.clear=function(){$(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var old=$.fn.scrollspy;$.fn.scrollspy=Plugin,$.fn.scrollspy.Constructor=ScrollSpy,$.fn.scrollspy.noConflict=function(){return $.fn.scrollspy=old,this},$(window).on("load.bs.scrollspy.data-api",function(){$('[data-spy="scroll"]').each(function(){var $spy=$(this);Plugin.call($spy,$spy.data())})})}(jQuery)}).call(exports,__webpack_require__(11))},function(module,exports,__webpack_require__){(function(jQuery){+function($){"use strict";function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.tab");data||$this.data("bs.tab",data=new Tab(this)),"string"==typeof option&&data[option]()})}var Tab=function(element){this.element=$(element)};Tab.VERSION="3.3.7",Tab.TRANSITION_DURATION=150,Tab.prototype.show=function(){var $this=this.element,$ul=$this.closest("ul:not(.dropdown-menu)"),selector=$this.data("target");if(selector||(selector=$this.attr("href"),selector=selector&&selector.replace(/.*(?=#[^\s]*$)/,"")),!$this.parent("li").hasClass("active")){var $previous=$ul.find(".active:last a"),hideEvent=$.Event("hide.bs.tab",{relatedTarget:$this[0]}),showEvent=$.Event("show.bs.tab",{relatedTarget:$previous[0]});if($previous.trigger(hideEvent),$this.trigger(showEvent),!showEvent.isDefaultPrevented()&&!hideEvent.isDefaultPrevented()){var $target=$(selector);this.activate($this.closest("li"),$ul),this.activate($target,$target.parent(),function(){$previous.trigger({type:"hidden.bs.tab",relatedTarget:$this[0]}),$this.trigger({type:"shown.bs.tab",relatedTarget:$previous[0]})})}}},Tab.prototype.activate=function(element,container,callback){function next(){$active.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),element.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),transition?(element[0].offsetWidth,element.addClass("in")):element.removeClass("fade"),element.parent(".dropdown-menu").length&&element.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),callback&&callback()}var $active=container.find("> .active"),transition=callback&&$.support.transition&&($active.length&&$active.hasClass("fade")||!!container.find("> .fade").length);$active.length&&transition?$active.one("bsTransitionEnd",next).emulateTransitionEnd(Tab.TRANSITION_DURATION):next(),$active.removeClass("in")};var old=$.fn.tab;$.fn.tab=Plugin,$.fn.tab.Constructor=Tab,$.fn.tab.noConflict=function(){return $.fn.tab=old,this};var clickHandler=function(e){e.preventDefault(),Plugin.call($(this),"show")};$(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',clickHandler).on("click.bs.tab.data-api",'[data-toggle="pill"]',clickHandler)}(jQuery)}).call(exports,__webpack_require__(11))},function(module,exports,__webpack_require__){(function(jQuery){+function($){"use strict";function Plugin(option){return this.each(function(){var $this=$(this),data=$this.data("bs.tooltip"),options="object"==typeof option&&option;!data&&/destroy|hide/.test(option)||(data||$this.data("bs.tooltip",data=new Tooltip(this,options)),"string"==typeof option&&data[option]())})}var Tooltip=function(element,options){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",element,options)};Tooltip.VERSION="3.3.7",Tooltip.TRANSITION_DURATION=150,Tooltip.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},Tooltip.prototype.init=function(type,element,options){if(this.enabled=!0,this.type=type,this.$element=$(element),this.options=this.getOptions(options),this.$viewport=this.options.viewport&&$($.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var triggers=this.options.trigger.split(" "),i=triggers.length;i--;){var trigger=triggers[i];if("click"==trigger)this.$element.on("click."+this.type,this.options.selector,$.proxy(this.toggle,this));else if("manual"!=trigger){var eventIn="hover"==trigger?"mouseenter":"focusin",eventOut="hover"==trigger?"mouseleave":"focusout";this.$element.on(eventIn+"."+this.type,this.options.selector,$.proxy(this.enter,this)),this.$element.on(eventOut+"."+this.type,this.options.selector,$.proxy(this.leave,this))}}this.options.selector?this._options=$.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},Tooltip.prototype.getDefaults=function(){return Tooltip.DEFAULTS},Tooltip.prototype.getOptions=function(options){return options=$.extend({},this.getDefaults(),this.$element.data(),options),options.delay&&"number"==typeof options.delay&&(options.delay={show:options.delay,hide:options.delay}),options},Tooltip.prototype.getDelegateOptions=function(){var options={},defaults=this.getDefaults();return this._options&&$.each(this._options,function(key,value){defaults[key]!=value&&(options[key]=value)}),options},Tooltip.prototype.enter=function(obj){var self=obj instanceof this.constructor?obj:$(obj.currentTarget).data("bs."+this.type);return self||(self=new this.constructor(obj.currentTarget,this.getDelegateOptions()),$(obj.currentTarget).data("bs."+this.type,self)),obj instanceof $.Event&&(self.inState["focusin"==obj.type?"focus":"hover"]=!0),self.tip().hasClass("in")||"in"==self.hoverState?void(self.hoverState="in"):(clearTimeout(self.timeout),self.hoverState="in",self.options.delay&&self.options.delay.show?void(self.timeout=setTimeout(function(){"in"==self.hoverState&&self.show()},self.options.delay.show)):self.show())},Tooltip.prototype.isInStateTrue=function(){for(var key in this.inState)if(this.inState[key])return!0;return!1},Tooltip.prototype.leave=function(obj){var self=obj instanceof this.constructor?obj:$(obj.currentTarget).data("bs."+this.type);if(self||(self=new this.constructor(obj.currentTarget,this.getDelegateOptions()),$(obj.currentTarget).data("bs."+this.type,self)),obj instanceof $.Event&&(self.inState["focusout"==obj.type?"focus":"hover"]=!1),!self.isInStateTrue())return clearTimeout(self.timeout),self.hoverState="out",self.options.delay&&self.options.delay.hide?void(self.timeout=setTimeout(function(){"out"==self.hoverState&&self.hide()},self.options.delay.hide)):self.hide()},Tooltip.prototype.show=function(){var e=$.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var inDom=$.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!inDom)return;var that=this,$tip=this.tip(),tipId=this.getUID(this.type);this.setContent(),$tip.attr("id",tipId),this.$element.attr("aria-describedby",tipId),this.options.animation&&$tip.addClass("fade");var placement="function"==typeof this.options.placement?this.options.placement.call(this,$tip[0],this.$element[0]):this.options.placement,autoToken=/\s?auto?\s?/i,autoPlace=autoToken.test(placement);autoPlace&&(placement=placement.replace(autoToken,"")||"top"),$tip.detach().css({top:0,left:0,display:"block"}).addClass(placement).data("bs."+this.type,this),this.options.container?$tip.appendTo(this.options.container):$tip.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var pos=this.getPosition(),actualWidth=$tip[0].offsetWidth,actualHeight=$tip[0].offsetHeight;if(autoPlace){var orgPlacement=placement,viewportDim=this.getPosition(this.$viewport);placement="bottom"==placement&&pos.bottom+actualHeight>viewportDim.bottom?"top":"top"==placement&&pos.top-actualHeight<viewportDim.top?"bottom":"right"==placement&&pos.right+actualWidth>viewportDim.width?"left":"left"==placement&&pos.left-actualWidth<viewportDim.left?"right":placement,$tip.removeClass(orgPlacement).addClass(placement)}var calculatedOffset=this.getCalculatedOffset(placement,pos,actualWidth,actualHeight);this.applyPlacement(calculatedOffset,placement);var complete=function(){var prevHoverState=that.hoverState;that.$element.trigger("shown.bs."+that.type),that.hoverState=null,"out"==prevHoverState&&that.leave(that)};$.support.transition&&this.$tip.hasClass("fade")?$tip.one("bsTransitionEnd",complete).emulateTransitionEnd(Tooltip.TRANSITION_DURATION):complete()}},Tooltip.prototype.applyPlacement=function(offset,placement){var $tip=this.tip(),width=$tip[0].offsetWidth,height=$tip[0].offsetHeight,marginTop=parseInt($tip.css("margin-top"),10),marginLeft=parseInt($tip.css("margin-left"),10);isNaN(marginTop)&&(marginTop=0),isNaN(marginLeft)&&(marginLeft=0),offset.top+=marginTop,offset.left+=marginLeft,$.offset.setOffset($tip[0],$.extend({using:function(props){$tip.css({top:Math.round(props.top),left:Math.round(props.left)})}},offset),0),$tip.addClass("in");var actualWidth=$tip[0].offsetWidth,actualHeight=$tip[0].offsetHeight;"top"==placement&&actualHeight!=height&&(offset.top=offset.top+height-actualHeight);var delta=this.getViewportAdjustedDelta(placement,offset,actualWidth,actualHeight);delta.left?offset.left+=delta.left:offset.top+=delta.top;var isVertical=/top|bottom/.test(placement),arrowDelta=isVertical?2*delta.left-width+actualWidth:2*delta.top-height+actualHeight,arrowOffsetPosition=isVertical?"offsetWidth":"offsetHeight";$tip.offset(offset),this.replaceArrow(arrowDelta,$tip[0][arrowOffsetPosition],isVertical)},Tooltip.prototype.replaceArrow=function(delta,dimension,isVertical){this.arrow().css(isVertical?"left":"top",50*(1-delta/dimension)+"%").css(isVertical?"top":"left","")},Tooltip.prototype.setContent=function(){var $tip=this.tip(),title=this.getTitle();$tip.find(".tooltip-inner")[this.options.html?"html":"text"](title),$tip.removeClass("fade in top bottom left right")},Tooltip.prototype.hide=function(callback){function complete(){"in"!=that.hoverState&&$tip.detach(),that.$element&&that.$element.removeAttr("aria-describedby").trigger("hidden.bs."+that.type),callback&&callback()}var that=this,$tip=$(this.$tip),e=$.Event("hide.bs."+this.type);if(this.$element.trigger(e),!e.isDefaultPrevented())return $tip.removeClass("in"),$.support.transition&&$tip.hasClass("fade")?$tip.one("bsTransitionEnd",complete).emulateTransitionEnd(Tooltip.TRANSITION_DURATION):complete(),this.hoverState=null,this},Tooltip.prototype.fixTitle=function(){var $e=this.$element;($e.attr("title")||"string"!=typeof $e.attr("data-original-title"))&&$e.attr("data-original-title",$e.attr("title")||"").attr("title","")},Tooltip.prototype.hasContent=function(){return this.getTitle()},Tooltip.prototype.getPosition=function($element){$element=$element||this.$element;var el=$element[0],isBody="BODY"==el.tagName,elRect=el.getBoundingClientRect();null==elRect.width&&(elRect=$.extend({},elRect,{width:elRect.right-elRect.left,height:elRect.bottom-elRect.top}));var isSvg=window.SVGElement&&el instanceof window.SVGElement,elOffset=isBody?{top:0,left:0}:isSvg?null:$element.offset(),scroll={scroll:isBody?document.documentElement.scrollTop||document.body.scrollTop:$element.scrollTop()},outerDims=isBody?{width:$(window).width(),height:$(window).height()}:null;return $.extend({},elRect,scroll,outerDims,elOffset);
+},Tooltip.prototype.getCalculatedOffset=function(placement,pos,actualWidth,actualHeight){return"bottom"==placement?{top:pos.top+pos.height,left:pos.left+pos.width/2-actualWidth/2}:"top"==placement?{top:pos.top-actualHeight,left:pos.left+pos.width/2-actualWidth/2}:"left"==placement?{top:pos.top+pos.height/2-actualHeight/2,left:pos.left-actualWidth}:{top:pos.top+pos.height/2-actualHeight/2,left:pos.left+pos.width}},Tooltip.prototype.getViewportAdjustedDelta=function(placement,pos,actualWidth,actualHeight){var delta={top:0,left:0};if(!this.$viewport)return delta;var viewportPadding=this.options.viewport&&this.options.viewport.padding||0,viewportDimensions=this.getPosition(this.$viewport);if(/right|left/.test(placement)){var topEdgeOffset=pos.top-viewportPadding-viewportDimensions.scroll,bottomEdgeOffset=pos.top+viewportPadding-viewportDimensions.scroll+actualHeight;topEdgeOffset<viewportDimensions.top?delta.top=viewportDimensions.top-topEdgeOffset:bottomEdgeOffset>viewportDimensions.top+viewportDimensions.height&&(delta.top=viewportDimensions.top+viewportDimensions.height-bottomEdgeOffset)}else{var leftEdgeOffset=pos.left-viewportPadding,rightEdgeOffset=pos.left+viewportPadding+actualWidth;leftEdgeOffset<viewportDimensions.left?delta.left=viewportDimensions.left-leftEdgeOffset:rightEdgeOffset>viewportDimensions.right&&(delta.left=viewportDimensions.left+viewportDimensions.width-rightEdgeOffset)}return delta},Tooltip.prototype.getTitle=function(){var title,$e=this.$element,o=this.options;return title=$e.attr("data-original-title")||("function"==typeof o.title?o.title.call($e[0]):o.title)},Tooltip.prototype.getUID=function(prefix){do prefix+=~~(1e6*Math.random());while(document.getElementById(prefix));return prefix},Tooltip.prototype.tip=function(){if(!this.$tip&&(this.$tip=$(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},Tooltip.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},Tooltip.prototype.enable=function(){this.enabled=!0},Tooltip.prototype.disable=function(){this.enabled=!1},Tooltip.prototype.toggleEnabled=function(){this.enabled=!this.enabled},Tooltip.prototype.toggle=function(e){var self=this;e&&(self=$(e.currentTarget).data("bs."+this.type),self||(self=new this.constructor(e.currentTarget,this.getDelegateOptions()),$(e.currentTarget).data("bs."+this.type,self))),e?(self.inState.click=!self.inState.click,self.isInStateTrue()?self.enter(self):self.leave(self)):self.tip().hasClass("in")?self.leave(self):self.enter(self)},Tooltip.prototype.destroy=function(){var that=this;clearTimeout(this.timeout),this.hide(function(){that.$element.off("."+that.type).removeData("bs."+that.type),that.$tip&&that.$tip.detach(),that.$tip=null,that.$arrow=null,that.$viewport=null,that.$element=null})};var old=$.fn.tooltip;$.fn.tooltip=Plugin,$.fn.tooltip.Constructor=Tooltip,$.fn.tooltip.noConflict=function(){return $.fn.tooltip=old,this}}(jQuery)}).call(exports,__webpack_require__(11))},function(module,exports,__webpack_require__){(function(jQuery){+function($){"use strict";function transitionEnd(){var el=document.createElement("bootstrap"),transEndEventNames={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var name in transEndEventNames)if(void 0!==el.style[name])return{end:transEndEventNames[name]};return!1}$.fn.emulateTransitionEnd=function(duration){var called=!1,$el=this;$(this).one("bsTransitionEnd",function(){called=!0});var callback=function(){called||$($el).trigger($.support.transition.end)};return setTimeout(callback,duration),this},$(function(){$.support.transition=transitionEnd(),$.support.transition&&($.event.special.bsTransitionEnd={bindType:$.support.transition.end,delegateType:$.support.transition.end,handle:function(e){if($(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}})})}(jQuery)}).call(exports,__webpack_require__(11))},function(module,exports,__webpack_require__){function createProxyServer(options){return new ProxyServer(options)}var ProxyServer=__webpack_require__(145).Server;ProxyServer.createProxyServer=createProxyServer,ProxyServer.createServer=createProxyServer,ProxyServer.createProxy=createProxyServer,module.exports=ProxyServer},function(module,exports,__webpack_require__){(function(Buffer){function createRightProxy(type){return function(options){return function(req,res){var head,cbl,passes="ws"===type?this.wsPasses:this.webPasses,args=[].slice.call(arguments),cntr=args.length-1;if("function"==typeof args[cntr]&&(cbl=args[cntr],cntr--),args[cntr]instanceof Buffer||args[cntr]===res||(options=extend({},options),extend(options,args[cntr]),cntr--),args[cntr]instanceof Buffer&&(head=args[cntr]),["target","forward"].forEach(function(e){"string"==typeof options[e]&&(options[e]=parse_url(options[e]))}),!options.target&&!options.forward)return this.emit("error",new Error("Must provide a proper URL as target"));for(var i=0;i<passes.length&&!passes[i](req,res,options,head,this,cbl);i++);}}}function ProxyServer(options){EE3.call(this),options=options||{},options.prependPath=options.prependPath!==!1,this.web=this.proxyRequest=createRightProxy("web")(options),this.ws=this.proxyWebsocketRequest=createRightProxy("ws")(options),this.options=options,this.webPasses=Object.keys(web).map(function(pass){return web[pass]}),this.wsPasses=Object.keys(ws).map(function(pass){return ws[pass]}),this.on("error",this.onError,this)}var httpProxy=module.exports,extend=__webpack_require__(69)._extend,parse_url=__webpack_require__(44).parse,EE3=__webpack_require__(149),http=__webpack_require__(43),https=__webpack_require__(62),web=__webpack_require__(146),ws=__webpack_require__(148);httpProxy.Server=ProxyServer,httpProxy.createRightProxy=createRightProxy,__webpack_require__(69).inherits(ProxyServer,EE3),ProxyServer.prototype.onError=function(err){if(1===this.listeners("error").length)throw err},ProxyServer.prototype.listen=function(port,hostname){var self=this,closure=function(req,res){self.web(req,res)};return this._server=this.options.ssl?https.createServer(this.options.ssl,closure):http.createServer(closure),this.options.ws&&this._server.on("upgrade",function(req,socket,head){self.ws(req,socket,head)}),this._server.listen(port,hostname),this},ProxyServer.prototype.close=function(callback){function done(){self._server=null,callback&&callback.apply(null,arguments)}var self=this;this._server&&this._server.close(done)},ProxyServer.prototype.before=function(type,passName,callback){if("ws"!==type&&"web"!==type)throw new Error("type must be `web` or `ws`");var passes="ws"===type?this.wsPasses:this.webPasses,i=!1;if(passes.forEach(function(v,idx){v.name===passName&&(i=idx)}),i===!1)throw new Error("No such pass");passes.splice(i,0,callback)},ProxyServer.prototype.after=function(type,passName,callback){if("ws"!==type&&"web"!==type)throw new Error("type must be `web` or `ws`");var passes="ws"===type?this.wsPasses:this.webPasses,i=!1;if(passes.forEach(function(v,idx){v.name===passName&&(i=idx)}),i===!1)throw new Error("No such pass");passes.splice(i++,0,callback)}}).call(exports,__webpack_require__(12).Buffer)},function(module,exports,__webpack_require__){var http=__webpack_require__(43),https=__webpack_require__(62),web_o=__webpack_require__(147),common=__webpack_require__(49);web_o=Object.keys(web_o).map(function(pass){return web_o[pass]}),/*!
+ * Array of passes.
+ *
+ * A `pass` is just a function that is executed on `req, res, options`
+ * so that you can easily add new checks while still keeping the base
+ * flexible.
+ */
+module.exports={deleteLength:function(req,res,options){"DELETE"!==req.method&&"OPTIONS"!==req.method||req.headers["content-length"]||(req.headers["content-length"]="0",delete req.headers["transfer-encoding"])},timeout:function(req,res,options){options.timeout&&req.socket.setTimeout(options.timeout)},XHeaders:function(req,res,options){if(options.xfwd){var encrypted=req.isSpdy||common.hasEncryptedConnection(req),values={"for":req.connection.remoteAddress||req.socket.remoteAddress,port:common.getPort(req),proto:encrypted?"https":"http"};["for","port","proto"].forEach(function(header){req.headers["x-forwarded-"+header]=(req.headers["x-forwarded-"+header]||"")+(req.headers["x-forwarded-"+header]?",":"")+values[header]}),req.headers["x-forwarded-host"]=req.headers.host||""}},stream:function(req,res,options,_,server,clb){function createErrorHandler(proxyReq,url){return function(err){return req.socket.destroyed&&"ECONNRESET"===err.code?(server.emit("econnreset",err,req,res,url),proxyReq.abort()):void(clb?clb(err,req,res,url):server.emit("error",err,req,res,url))}}if(server.emit("start",req,res,options.target||options.forward),options.forward){var forwardReq=("https:"===options.forward.protocol?https:http).request(common.setupOutgoing(options.ssl||{},options,req,"forward")),forwardError=createErrorHandler(forwardReq,options.forward);if(req.on("error",forwardError),forwardReq.on("error",forwardError),(options.buffer||req).pipe(forwardReq),!options.target)return res.end()}var proxyReq=("https:"===options.target.protocol?https:http).request(common.setupOutgoing(options.ssl||{},options,req));proxyReq.on("socket",function(socket){server&&server.emit("proxyReq",proxyReq,req,res,options)}),options.proxyTimeout&&proxyReq.setTimeout(options.proxyTimeout,function(){proxyReq.abort()}),req.on("aborted",function(){proxyReq.abort()});var proxyError=createErrorHandler(proxyReq,options.target);req.on("error",proxyError),proxyReq.on("error",proxyError),(options.buffer||req).pipe(proxyReq),proxyReq.on("response",function(proxyRes){server&&server.emit("proxyRes",proxyRes,req,res);for(var i=0;i<web_o.length&&!web_o[i](req,res,proxyRes,options);i++);proxyRes.on("end",function(){server.emit("end",req,res,proxyRes)}),proxyRes.pipe(res)})}}},function(module,exports,__webpack_require__){var url=__webpack_require__(44),common=__webpack_require__(49),redirectRegex=/^201|30(1|2|7|8)$/;/*!
+ * Array of passes.
+ *
+ * A `pass` is just a function that is executed on `req, res, options`
+ * so that you can easily add new checks while still keeping the base
+ * flexible.
+ */
+module.exports={removeChunked:function(req,res,proxyRes){"1.0"===req.httpVersion&&delete proxyRes.headers["transfer-encoding"]},setConnection:function(req,res,proxyRes){"1.0"===req.httpVersion?proxyRes.headers.connection=req.headers.connection||"close":"2.0"===req.httpVersion||proxyRes.headers.connection||(proxyRes.headers.connection=req.headers.connection||"keep-alive")},setRedirectHostRewrite:function(req,res,proxyRes,options){if((options.hostRewrite||options.autoRewrite||options.protocolRewrite)&&proxyRes.headers.location&&redirectRegex.test(proxyRes.statusCode)){var target=url.parse(options.target),u=url.parse(proxyRes.headers.location);if(target.host!=u.host)return;options.hostRewrite?u.host=options.hostRewrite:options.autoRewrite&&(u.host=req.headers.host),options.protocolRewrite&&(u.protocol=options.protocolRewrite),proxyRes.headers.location=u.format()}},writeHeaders:function(req,res,proxyRes,options){var rawHeaderKeyMap,rewriteCookieDomainConfig=options.cookieDomainRewrite,preserveHeaderKeyCase=options.preserveHeaderKeyCase,setHeader=function(key,header){void 0!=header&&(rewriteCookieDomainConfig&&"set-cookie"===key.toLowerCase()&&(header=common.rewriteCookieDomain(header,rewriteCookieDomainConfig)),res.setHeader(String(key).trim(),header))};if("string"==typeof rewriteCookieDomainConfig&&(rewriteCookieDomainConfig={"*":rewriteCookieDomainConfig}),preserveHeaderKeyCase&&void 0!=proxyRes.rawHeaders){rawHeaderKeyMap={};for(var i=0;i<proxyRes.rawHeaders.length;i+=2){var key=proxyRes.rawHeaders[i];rawHeaderKeyMap[key.toLowerCase()]=key}}Object.keys(proxyRes.headers).forEach(function(key){var header=proxyRes.headers[key];preserveHeaderKeyCase&&rawHeaderKeyMap&&(key=rawHeaderKeyMap[key]||key),setHeader(key,header)})},writeStatusCode:function(req,res,proxyRes){proxyRes.statusMessage?res.writeHead(proxyRes.statusCode,proxyRes.statusMessage):res.writeHead(proxyRes.statusCode)}}},function(module,exports,__webpack_require__){var http=__webpack_require__(43),https=__webpack_require__(62),common=__webpack_require__(49);/*!
+ * Array of passes.
+ *
+ * A `pass` is just a function that is executed on `req, socket, options`
+ * so that you can easily add new checks while still keeping the base
+ * flexible.
+ */
+module.exports={checkMethodAndHeader:function(req,socket){return"GET"===req.method&&req.headers.upgrade?"websocket"!==req.headers.upgrade.toLowerCase()?(socket.destroy(),!0):void 0:(socket.destroy(),!0)},XHeaders:function(req,socket,options){if(options.xfwd){var values={"for":req.connection.remoteAddress||req.socket.remoteAddress,port:common.getPort(req),proto:common.hasEncryptedConnection(req)?"wss":"ws"};["for","port","proto"].forEach(function(header){req.headers["x-forwarded-"+header]=(req.headers["x-forwarded-"+header]||"")+(req.headers["x-forwarded-"+header]?",":"")+values[header]})}},stream:function(req,socket,options,head,server,clb){function onOutgoingError(err){clb?clb(err,req,socket):server.emit("error",err,req,socket),socket.end()}common.setupSocket(socket),head&&head.length&&socket.unshift(head);var proxyReq=(common.isSSL.test(options.target.protocol)?https:http).request(common.setupOutgoing(options.ssl||{},options,req));return server&&server.emit("proxyReqWs",proxyReq,req,socket,options,head),proxyReq.on("error",onOutgoingError),proxyReq.on("response",function(res){res.upgrade||socket.end()}),proxyReq.on("upgrade",function(proxyRes,proxySocket,proxyHead){proxySocket.on("error",onOutgoingError),proxySocket.on("end",function(){server.emit("close",proxyRes,proxySocket,proxyHead)}),socket.on("error",function(){proxySocket.end()}),common.setupSocket(proxySocket),proxyHead&&proxyHead.length&&proxySocket.unshift(proxyHead),socket.write(Object.keys(proxyRes.headers).reduce(function(head,key){var value=proxyRes.headers[key];if(!Array.isArray(value))return head.push(key+": "+value),head;for(var i=0;i<value.length;i++)head.push(key+": "+value[i]);return head},["HTTP/1.1 101 Switching Protocols"]).join("\r\n")+"\r\n\r\n"),proxySocket.pipe(socket).pipe(proxySocket),server.emit("open",proxySocket),server.emit("proxySocket",proxySocket)}),proxyReq.end()}}},function(module,exports,__webpack_require__){"use strict";function EE(fn,context,once){this.fn=fn,this.context=context,this.once=once||!1}function EventEmitter(){}var has=Object.prototype.hasOwnProperty,prefix="function"!=typeof Object.create&&"~";EventEmitter.prototype._events=void 0,EventEmitter.prototype.eventNames=function(){var name,events=this._events,names=[];if(!events)return names;for(name in events)has.call(events,name)&&names.push(prefix?name.slice(1):name);return Object.getOwnPropertySymbols?names.concat(Object.getOwnPropertySymbols(events)):names},EventEmitter.prototype.listeners=function(event,exists){var evt=prefix?prefix+event:event,available=this._events&&this._events[evt];if(exists)return!!available;if(!available)return[];if(available.fn)return[available.fn];for(var i=0,l=available.length,ee=new Array(l);i<l;i++)ee[i]=available[i].fn;return ee},EventEmitter.prototype.emit=function(event,a1,a2,a3,a4,a5){var evt=prefix?prefix+event:event;if(!this._events||!this._events[evt])return!1;var args,i,listeners=this._events[evt],len=arguments.length;if("function"==typeof listeners.fn){switch(listeners.once&&this.removeListener(event,listeners.fn,void 0,!0),len){case 1:return listeners.fn.call(listeners.context),!0;case 2:return listeners.fn.call(listeners.context,a1),!0;case 3:return listeners.fn.call(listeners.context,a1,a2),!0;case 4:return listeners.fn.call(listeners.context,a1,a2,a3),!0;case 5:return listeners.fn.call(listeners.context,a1,a2,a3,a4),!0;case 6:return listeners.fn.call(listeners.context,a1,a2,a3,a4,a5),!0}for(i=1,args=new Array(len-1);i<len;i++)args[i-1]=arguments[i];listeners.fn.apply(listeners.context,args)}else{var j,length=listeners.length;for(i=0;i<length;i++)switch(listeners[i].once&&this.removeListener(event,listeners[i].fn,void 0,!0),len){case 1:listeners[i].fn.call(listeners[i].context);break;case 2:listeners[i].fn.call(listeners[i].context,a1);break;case 3:listeners[i].fn.call(listeners[i].context,a1,a2);break;default:if(!args)for(j=1,args=new Array(len-1);j<len;j++)args[j-1]=arguments[j];listeners[i].fn.apply(listeners[i].context,args)}}return!0},EventEmitter.prototype.on=function(event,fn,context){var listener=new EE(fn,context||this),evt=prefix?prefix+event:event;return this._events||(this._events=prefix?{}:Object.create(null)),this._events[evt]?this._events[evt].fn?this._events[evt]=[this._events[evt],listener]:this._events[evt].push(listener):this._events[evt]=listener,this},EventEmitter.prototype.once=function(event,fn,context){var listener=new EE(fn,context||this,(!0)),evt=prefix?prefix+event:event;return this._events||(this._events=prefix?{}:Object.create(null)),this._events[evt]?this._events[evt].fn?this._events[evt]=[this._events[evt],listener]:this._events[evt].push(listener):this._events[evt]=listener,this},EventEmitter.prototype.removeListener=function(event,fn,context,once){var evt=prefix?prefix+event:event;if(!this._events||!this._events[evt])return this;var listeners=this._events[evt],events=[];if(fn)if(listeners.fn)(listeners.fn!==fn||once&&!listeners.once||context&&listeners.context!==context)&&events.push(listeners);else for(var i=0,length=listeners.length;i<length;i++)(listeners[i].fn!==fn||once&&!listeners[i].once||context&&listeners[i].context!==context)&&events.push(listeners[i]);return events.length?this._events[evt]=1===events.length?events[0]:events:delete this._events[evt],this},EventEmitter.prototype.removeAllListeners=function(event){return this._events?(event?delete this._events[prefix?prefix+event:event]:this._events=prefix?{}:Object.create(null),this):this},EventEmitter.prototype.off=EventEmitter.prototype.removeListener,EventEmitter.prototype.addListener=EventEmitter.prototype.on,EventEmitter.prototype.setMaxListeners=function(){return this},EventEmitter.prefixed=prefix,module.exports=EventEmitter},function(module,exports){"use strict";module.exports=function(port,protocol){if(protocol=protocol.split(":")[0],port=+port,!port)return!1;switch(protocol){case"http":case"ws":return 80!==port;case"https":case"wss":return 443!==port;case"ftp":return 21!==port;case"gopher":return 70!==port;case"file":return!1}return 0!==port}},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),InnerSubscriber=function(_super){function InnerSubscriber(parent,outerValue,outerIndex){_super.call(this),this.parent=parent,this.outerValue=outerValue,this.outerIndex=outerIndex,this.index=0}return __extends(InnerSubscriber,_super),InnerSubscriber.prototype._next=function(value){this.parent.notifyNext(this.outerValue,value,this.outerIndex,this.index++,this)},InnerSubscriber.prototype._error=function(error){this.parent.notifyError(error,this),this.unsubscribe()},InnerSubscriber.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},InnerSubscriber}(Subscriber_1.Subscriber);exports.InnerSubscriber=InnerSubscriber},function(module,exports){"use strict";var Scheduler=function(){function Scheduler(SchedulerAction,now){void 0===now&&(now=Scheduler.now),this.SchedulerAction=SchedulerAction,this.now=now}return Scheduler.prototype.schedule=function(work,delay,state){return void 0===delay&&(delay=0),new this.SchedulerAction(this,work).schedule(state,delay)},Scheduler.now=Date.now?Date.now:function(){return+new Date},Scheduler}();exports.Scheduler=Scheduler},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),bindCallback_1=__webpack_require__(298);Observable_1.Observable.bindCallback=bindCallback_1.bindCallback},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),bindNodeCallback_1=__webpack_require__(299);Observable_1.Observable.bindNodeCallback=bindNodeCallback_1.bindNodeCallback},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),combineLatest_1=__webpack_require__(300);Observable_1.Observable.combineLatest=combineLatest_1.combineLatest},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),concat_1=__webpack_require__(301);Observable_1.Observable.concat=concat_1.concat},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),defer_1=__webpack_require__(302);Observable_1.Observable.defer=defer_1.defer},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),ajax_1=__webpack_require__(304);Observable_1.Observable.ajax=ajax_1.ajax},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),webSocket_1=__webpack_require__(305);Observable_1.Observable.webSocket=webSocket_1.webSocket},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),empty_1=__webpack_require__(306);Observable_1.Observable.empty=empty_1.empty},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),forkJoin_1=__webpack_require__(307);Observable_1.Observable.forkJoin=forkJoin_1.forkJoin},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),from_1=__webpack_require__(308);Observable_1.Observable.from=from_1.from},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),fromEvent_1=__webpack_require__(309);Observable_1.Observable.fromEvent=fromEvent_1.fromEvent},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),fromEventPattern_1=__webpack_require__(310);Observable_1.Observable.fromEventPattern=fromEventPattern_1.fromEventPattern},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),fromPromise_1=__webpack_require__(311);Observable_1.Observable.fromPromise=fromPromise_1.fromPromise},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),GenerateObservable_1=__webpack_require__(288);Observable_1.Observable.generate=GenerateObservable_1.GenerateObservable.create},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),if_1=__webpack_require__(312);Observable_1.Observable["if"]=if_1._if},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),interval_1=__webpack_require__(313);Observable_1.Observable.interval=interval_1.interval},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),merge_1=__webpack_require__(314);Observable_1.Observable.merge=merge_1.merge},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),never_1=__webpack_require__(315);Observable_1.Observable.never=never_1.never},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),of_1=__webpack_require__(316);Observable_1.Observable.of=of_1.of},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),onErrorResumeNext_1=__webpack_require__(83);Observable_1.Observable.onErrorResumeNext=onErrorResumeNext_1.onErrorResumeNextStatic},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),pairs_1=__webpack_require__(317);Observable_1.Observable.pairs=pairs_1.pairs},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),race_1=__webpack_require__(84);Observable_1.Observable.race=race_1.raceStatic},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),range_1=__webpack_require__(318);Observable_1.Observable.range=range_1.range},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),throw_1=__webpack_require__(319);Observable_1.Observable["throw"]=throw_1._throw},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),timer_1=__webpack_require__(320);Observable_1.Observable.timer=timer_1.timer},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),using_1=__webpack_require__(321);Observable_1.Observable.using=using_1.using},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),zip_1=__webpack_require__(322);Observable_1.Observable.zip=zip_1.zip},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),audit_1=__webpack_require__(323);Observable_1.Observable.prototype.audit=audit_1.audit},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),auditTime_1=__webpack_require__(324);Observable_1.Observable.prototype.auditTime=auditTime_1.auditTime},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),buffer_1=__webpack_require__(325);Observable_1.Observable.prototype.buffer=buffer_1.buffer},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),bufferCount_1=__webpack_require__(326);Observable_1.Observable.prototype.bufferCount=bufferCount_1.bufferCount},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),bufferTime_1=__webpack_require__(327);Observable_1.Observable.prototype.bufferTime=bufferTime_1.bufferTime},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),bufferToggle_1=__webpack_require__(328);Observable_1.Observable.prototype.bufferToggle=bufferToggle_1.bufferToggle},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),bufferWhen_1=__webpack_require__(329);Observable_1.Observable.prototype.bufferWhen=bufferWhen_1.bufferWhen},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),catch_1=__webpack_require__(330);Observable_1.Observable.prototype["catch"]=catch_1._catch,Observable_1.Observable.prototype._catch=catch_1._catch},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),combineAll_1=__webpack_require__(331);Observable_1.Observable.prototype.combineAll=combineAll_1.combineAll},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),combineLatest_1=__webpack_require__(52);Observable_1.Observable.prototype.combineLatest=combineLatest_1.combineLatest},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),concat_1=__webpack_require__(53);Observable_1.Observable.prototype.concat=concat_1.concat},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),concatAll_1=__webpack_require__(332);Observable_1.Observable.prototype.concatAll=concatAll_1.concatAll},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),concatMap_1=__webpack_require__(333);Observable_1.Observable.prototype.concatMap=concatMap_1.concatMap},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),concatMapTo_1=__webpack_require__(334);Observable_1.Observable.prototype.concatMapTo=concatMapTo_1.concatMapTo},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),count_1=__webpack_require__(335);Observable_1.Observable.prototype.count=count_1.count},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),debounce_1=__webpack_require__(336);Observable_1.Observable.prototype.debounce=debounce_1.debounce},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),debounceTime_1=__webpack_require__(337);Observable_1.Observable.prototype.debounceTime=debounceTime_1.debounceTime},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),defaultIfEmpty_1=__webpack_require__(338);Observable_1.Observable.prototype.defaultIfEmpty=defaultIfEmpty_1.defaultIfEmpty},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),delay_1=__webpack_require__(339);Observable_1.Observable.prototype.delay=delay_1.delay},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),delayWhen_1=__webpack_require__(340);Observable_1.Observable.prototype.delayWhen=delayWhen_1.delayWhen},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),dematerialize_1=__webpack_require__(341);Observable_1.Observable.prototype.dematerialize=dematerialize_1.dematerialize},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),distinct_1=__webpack_require__(342);Observable_1.Observable.prototype.distinct=distinct_1.distinct},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),distinctUntilChanged_1=__webpack_require__(77);Observable_1.Observable.prototype.distinctUntilChanged=distinctUntilChanged_1.distinctUntilChanged},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),distinctUntilKeyChanged_1=__webpack_require__(343);Observable_1.Observable.prototype.distinctUntilKeyChanged=distinctUntilKeyChanged_1.distinctUntilKeyChanged},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),do_1=__webpack_require__(344);Observable_1.Observable.prototype["do"]=do_1._do,Observable_1.Observable.prototype._do=do_1._do},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),elementAt_1=__webpack_require__(345);Observable_1.Observable.prototype.elementAt=elementAt_1.elementAt},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),every_1=__webpack_require__(346);Observable_1.Observable.prototype.every=every_1.every},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),exhaust_1=__webpack_require__(347);Observable_1.Observable.prototype.exhaust=exhaust_1.exhaust},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),exhaustMap_1=__webpack_require__(348);Observable_1.Observable.prototype.exhaustMap=exhaustMap_1.exhaustMap},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),expand_1=__webpack_require__(349);Observable_1.Observable.prototype.expand=expand_1.expand},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),filter_1=__webpack_require__(78);Observable_1.Observable.prototype.filter=filter_1.filter},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),finally_1=__webpack_require__(350);Observable_1.Observable.prototype["finally"]=finally_1._finally,Observable_1.Observable.prototype._finally=finally_1._finally},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),find_1=__webpack_require__(79);Observable_1.Observable.prototype.find=find_1.find},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),findIndex_1=__webpack_require__(351);Observable_1.Observable.prototype.findIndex=findIndex_1.findIndex},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),first_1=__webpack_require__(352);Observable_1.Observable.prototype.first=first_1.first},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),groupBy_1=__webpack_require__(353);Observable_1.Observable.prototype.groupBy=groupBy_1.groupBy},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),ignoreElements_1=__webpack_require__(354);Observable_1.Observable.prototype.ignoreElements=ignoreElements_1.ignoreElements},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),isEmpty_1=__webpack_require__(355);Observable_1.Observable.prototype.isEmpty=isEmpty_1.isEmpty},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),last_1=__webpack_require__(356);Observable_1.Observable.prototype.last=last_1.last},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),let_1=__webpack_require__(357);Observable_1.Observable.prototype["let"]=let_1.letProto,Observable_1.Observable.prototype.letBind=let_1.letProto},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),map_1=__webpack_require__(54);Observable_1.Observable.prototype.map=map_1.map},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),mapTo_1=__webpack_require__(358);Observable_1.Observable.prototype.mapTo=mapTo_1.mapTo},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),materialize_1=__webpack_require__(359);Observable_1.Observable.prototype.materialize=materialize_1.materialize},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),max_1=__webpack_require__(360);Observable_1.Observable.prototype.max=max_1.max},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),merge_1=__webpack_require__(80);Observable_1.Observable.prototype.merge=merge_1.merge},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),mergeAll_1=__webpack_require__(31);Observable_1.Observable.prototype.mergeAll=mergeAll_1.mergeAll},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),mergeMap_1=__webpack_require__(81);Observable_1.Observable.prototype.mergeMap=mergeMap_1.mergeMap,Observable_1.Observable.prototype.flatMap=mergeMap_1.mergeMap},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),mergeMapTo_1=__webpack_require__(82);Observable_1.Observable.prototype.flatMapTo=mergeMapTo_1.mergeMapTo,Observable_1.Observable.prototype.mergeMapTo=mergeMapTo_1.mergeMapTo},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),mergeScan_1=__webpack_require__(361);Observable_1.Observable.prototype.mergeScan=mergeScan_1.mergeScan},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),min_1=__webpack_require__(362);Observable_1.Observable.prototype.min=min_1.min},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),multicast_1=__webpack_require__(20);Observable_1.Observable.prototype.multicast=multicast_1.multicast},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),observeOn_1=__webpack_require__(55);Observable_1.Observable.prototype.observeOn=observeOn_1.observeOn},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),onErrorResumeNext_1=__webpack_require__(83);Observable_1.Observable.prototype.onErrorResumeNext=onErrorResumeNext_1.onErrorResumeNext},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),pairwise_1=__webpack_require__(363);Observable_1.Observable.prototype.pairwise=pairwise_1.pairwise},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),partition_1=__webpack_require__(364);Observable_1.Observable.prototype.partition=partition_1.partition},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),pluck_1=__webpack_require__(365);Observable_1.Observable.prototype.pluck=pluck_1.pluck},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),publish_1=__webpack_require__(366);Observable_1.Observable.prototype.publish=publish_1.publish},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),publishBehavior_1=__webpack_require__(367);Observable_1.Observable.prototype.publishBehavior=publishBehavior_1.publishBehavior},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),publishLast_1=__webpack_require__(368);Observable_1.Observable.prototype.publishLast=publishLast_1.publishLast},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),publishReplay_1=__webpack_require__(369);Observable_1.Observable.prototype.publishReplay=publishReplay_1.publishReplay},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),race_1=__webpack_require__(84);Observable_1.Observable.prototype.race=race_1.race},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),reduce_1=__webpack_require__(56);Observable_1.Observable.prototype.reduce=reduce_1.reduce},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),repeat_1=__webpack_require__(370);Observable_1.Observable.prototype.repeat=repeat_1.repeat},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),repeatWhen_1=__webpack_require__(371);Observable_1.Observable.prototype.repeatWhen=repeatWhen_1.repeatWhen},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),retry_1=__webpack_require__(372);Observable_1.Observable.prototype.retry=retry_1.retry},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),retryWhen_1=__webpack_require__(373);Observable_1.Observable.prototype.retryWhen=retryWhen_1.retryWhen},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),sample_1=__webpack_require__(374);Observable_1.Observable.prototype.sample=sample_1.sample},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),sampleTime_1=__webpack_require__(375);Observable_1.Observable.prototype.sampleTime=sampleTime_1.sampleTime},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),scan_1=__webpack_require__(376);Observable_1.Observable.prototype.scan=scan_1.scan},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),sequenceEqual_1=__webpack_require__(377);Observable_1.Observable.prototype.sequenceEqual=sequenceEqual_1.sequenceEqual},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),share_1=__webpack_require__(378);Observable_1.Observable.prototype.share=share_1.share},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),single_1=__webpack_require__(379);Observable_1.Observable.prototype.single=single_1.single},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),skip_1=__webpack_require__(380);Observable_1.Observable.prototype.skip=skip_1.skip},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),skipUntil_1=__webpack_require__(381);Observable_1.Observable.prototype.skipUntil=skipUntil_1.skipUntil},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),skipWhile_1=__webpack_require__(382);Observable_1.Observable.prototype.skipWhile=skipWhile_1.skipWhile},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),startWith_1=__webpack_require__(383);Observable_1.Observable.prototype.startWith=startWith_1.startWith},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),subscribeOn_1=__webpack_require__(384);Observable_1.Observable.prototype.subscribeOn=subscribeOn_1.subscribeOn},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),switch_1=__webpack_require__(385);Observable_1.Observable.prototype["switch"]=switch_1._switch,Observable_1.Observable.prototype._switch=switch_1._switch},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),switchMap_1=__webpack_require__(386);Observable_1.Observable.prototype.switchMap=switchMap_1.switchMap},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),switchMapTo_1=__webpack_require__(387);Observable_1.Observable.prototype.switchMapTo=switchMapTo_1.switchMapTo},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),take_1=__webpack_require__(388);Observable_1.Observable.prototype.take=take_1.take},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),takeLast_1=__webpack_require__(389);Observable_1.Observable.prototype.takeLast=takeLast_1.takeLast},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),takeUntil_1=__webpack_require__(390);Observable_1.Observable.prototype.takeUntil=takeUntil_1.takeUntil},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),takeWhile_1=__webpack_require__(391);Observable_1.Observable.prototype.takeWhile=takeWhile_1.takeWhile},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),throttle_1=__webpack_require__(392);Observable_1.Observable.prototype.throttle=throttle_1.throttle},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),throttleTime_1=__webpack_require__(393);Observable_1.Observable.prototype.throttleTime=throttleTime_1.throttleTime},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),timeInterval_1=__webpack_require__(85);Observable_1.Observable.prototype.timeInterval=timeInterval_1.timeInterval},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),timeout_1=__webpack_require__(394);Observable_1.Observable.prototype.timeout=timeout_1.timeout},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),timeoutWith_1=__webpack_require__(395);Observable_1.Observable.prototype.timeoutWith=timeoutWith_1.timeoutWith},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),timestamp_1=__webpack_require__(86);Observable_1.Observable.prototype.timestamp=timestamp_1.timestamp},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),toArray_1=__webpack_require__(396);Observable_1.Observable.prototype.toArray=toArray_1.toArray},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),toPromise_1=__webpack_require__(397);Observable_1.Observable.prototype.toPromise=toPromise_1.toPromise},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),window_1=__webpack_require__(398);Observable_1.Observable.prototype.window=window_1.window},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),windowCount_1=__webpack_require__(399);Observable_1.Observable.prototype.windowCount=windowCount_1.windowCount},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),windowTime_1=__webpack_require__(400);Observable_1.Observable.prototype.windowTime=windowTime_1.windowTime},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),windowToggle_1=__webpack_require__(401);
+Observable_1.Observable.prototype.windowToggle=windowToggle_1.windowToggle},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),windowWhen_1=__webpack_require__(402);Observable_1.Observable.prototype.windowWhen=windowWhen_1.windowWhen},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),withLatestFrom_1=__webpack_require__(403);Observable_1.Observable.prototype.withLatestFrom=withLatestFrom_1.withLatestFrom},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),zip_1=__webpack_require__(57);Observable_1.Observable.prototype.zip=zip_1.zipProto},function(module,exports,__webpack_require__){"use strict";var Observable_1=__webpack_require__(0),zipAll_1=__webpack_require__(404);Observable_1.Observable.prototype.zipAll=zipAll_1.zipAll},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),ScalarObservable_1=__webpack_require__(51),EmptyObservable_1=__webpack_require__(17),ArrayLikeObservable=function(_super){function ArrayLikeObservable(arrayLike,scheduler){_super.call(this),this.arrayLike=arrayLike,this.scheduler=scheduler,scheduler||1!==arrayLike.length||(this._isScalar=!0,this.value=arrayLike[0])}return __extends(ArrayLikeObservable,_super),ArrayLikeObservable.create=function(arrayLike,scheduler){var length=arrayLike.length;return 0===length?new EmptyObservable_1.EmptyObservable:1===length?new ScalarObservable_1.ScalarObservable(arrayLike[0],scheduler):new ArrayLikeObservable(arrayLike,scheduler)},ArrayLikeObservable.dispatch=function(state){var arrayLike=state.arrayLike,index=state.index,length=state.length,subscriber=state.subscriber;if(!subscriber.closed){if(index>=length)return void subscriber.complete();subscriber.next(arrayLike[index]),state.index=index+1,this.schedule(state)}},ArrayLikeObservable.prototype._subscribe=function(subscriber){var index=0,_a=this,arrayLike=_a.arrayLike,scheduler=_a.scheduler,length=arrayLike.length;if(scheduler)return scheduler.schedule(ArrayLikeObservable.dispatch,0,{arrayLike:arrayLike,index:index,length:length,subscriber:subscriber});for(var i=0;i<length&&!subscriber.closed;i++)subscriber.next(arrayLike[i]);subscriber.complete()},ArrayLikeObservable}(Observable_1.Observable);exports.ArrayLikeObservable=ArrayLikeObservable},function(module,exports,__webpack_require__){"use strict";function dispatchNext(arg){var value=arg.value,subject=arg.subject;subject.next(value),subject.complete()}function dispatchError(arg){var err=arg.err,subject=arg.subject;subject.error(err)}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),tryCatch_1=__webpack_require__(9),errorObject_1=__webpack_require__(7),AsyncSubject_1=__webpack_require__(30),BoundCallbackObservable=function(_super){function BoundCallbackObservable(callbackFunc,selector,args,context,scheduler){_super.call(this),this.callbackFunc=callbackFunc,this.selector=selector,this.args=args,this.context=context,this.scheduler=scheduler}return __extends(BoundCallbackObservable,_super),BoundCallbackObservable.create=function(func,selector,scheduler){return void 0===selector&&(selector=void 0),function(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i-0]=arguments[_i];return new BoundCallbackObservable(func,selector,args,this,scheduler)}},BoundCallbackObservable.prototype._subscribe=function(subscriber){var callbackFunc=this.callbackFunc,args=this.args,scheduler=this.scheduler,subject=this.subject;if(scheduler)return scheduler.schedule(BoundCallbackObservable.dispatch,0,{source:this,subscriber:subscriber,context:this.context});if(!subject){subject=this.subject=new AsyncSubject_1.AsyncSubject;var handler=function handlerFn(){for(var innerArgs=[],_i=0;_i<arguments.length;_i++)innerArgs[_i-0]=arguments[_i];var source=handlerFn.source,selector=source.selector,subject=source.subject;if(selector){var result_1=tryCatch_1.tryCatch(selector).apply(this,innerArgs);result_1===errorObject_1.errorObject?subject.error(errorObject_1.errorObject.e):(subject.next(result_1),subject.complete())}else subject.next(innerArgs.length<=1?innerArgs[0]:innerArgs),subject.complete()};handler.source=this;var result=tryCatch_1.tryCatch(callbackFunc).apply(this.context,args.concat(handler));result===errorObject_1.errorObject&&subject.error(errorObject_1.errorObject.e)}return subject.subscribe(subscriber)},BoundCallbackObservable.dispatch=function(state){var self=this,source=state.source,subscriber=state.subscriber,context=state.context,callbackFunc=source.callbackFunc,args=source.args,scheduler=source.scheduler,subject=source.subject;if(!subject){subject=source.subject=new AsyncSubject_1.AsyncSubject;var handler=function handlerFn(){for(var innerArgs=[],_i=0;_i<arguments.length;_i++)innerArgs[_i-0]=arguments[_i];var source=handlerFn.source,selector=source.selector,subject=source.subject;if(selector){var result_2=tryCatch_1.tryCatch(selector).apply(this,innerArgs);result_2===errorObject_1.errorObject?self.add(scheduler.schedule(dispatchError,0,{err:errorObject_1.errorObject.e,subject:subject})):self.add(scheduler.schedule(dispatchNext,0,{value:result_2,subject:subject}))}else{var value=innerArgs.length<=1?innerArgs[0]:innerArgs;self.add(scheduler.schedule(dispatchNext,0,{value:value,subject:subject}))}};handler.source=source;var result=tryCatch_1.tryCatch(callbackFunc).apply(context,args.concat(handler));result===errorObject_1.errorObject&&subject.error(errorObject_1.errorObject.e)}self.add(subject.subscribe(subscriber))},BoundCallbackObservable}(Observable_1.Observable);exports.BoundCallbackObservable=BoundCallbackObservable},function(module,exports,__webpack_require__){"use strict";function dispatch(state){var self=this,source=state.source,subscriber=state.subscriber,context=state.context,_a=source,callbackFunc=_a.callbackFunc,args=_a.args,scheduler=_a.scheduler,subject=source.subject;if(!subject){subject=source.subject=new AsyncSubject_1.AsyncSubject;var handler=function handlerFn(){for(var innerArgs=[],_i=0;_i<arguments.length;_i++)innerArgs[_i-0]=arguments[_i];var source=handlerFn.source,selector=source.selector,subject=source.subject,err=innerArgs.shift();if(err)self.add(scheduler.schedule(dispatchError,0,{err:err,subject:subject}));else if(selector){var result_2=tryCatch_1.tryCatch(selector).apply(this,innerArgs);result_2===errorObject_1.errorObject?self.add(scheduler.schedule(dispatchError,0,{err:errorObject_1.errorObject.e,subject:subject})):self.add(scheduler.schedule(dispatchNext,0,{value:result_2,subject:subject}))}else{var value=innerArgs.length<=1?innerArgs[0]:innerArgs;self.add(scheduler.schedule(dispatchNext,0,{value:value,subject:subject}))}};handler.source=source;var result=tryCatch_1.tryCatch(callbackFunc).apply(context,args.concat(handler));result===errorObject_1.errorObject&&self.add(scheduler.schedule(dispatchError,0,{err:errorObject_1.errorObject.e,subject:subject}))}self.add(subject.subscribe(subscriber))}function dispatchNext(arg){var value=arg.value,subject=arg.subject;subject.next(value),subject.complete()}function dispatchError(arg){var err=arg.err,subject=arg.subject;subject.error(err)}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),tryCatch_1=__webpack_require__(9),errorObject_1=__webpack_require__(7),AsyncSubject_1=__webpack_require__(30),BoundNodeCallbackObservable=function(_super){function BoundNodeCallbackObservable(callbackFunc,selector,args,context,scheduler){_super.call(this),this.callbackFunc=callbackFunc,this.selector=selector,this.args=args,this.context=context,this.scheduler=scheduler}return __extends(BoundNodeCallbackObservable,_super),BoundNodeCallbackObservable.create=function(func,selector,scheduler){return void 0===selector&&(selector=void 0),function(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i-0]=arguments[_i];return new BoundNodeCallbackObservable(func,selector,args,this,scheduler)}},BoundNodeCallbackObservable.prototype._subscribe=function(subscriber){var callbackFunc=this.callbackFunc,args=this.args,scheduler=this.scheduler,subject=this.subject;if(scheduler)return scheduler.schedule(dispatch,0,{source:this,subscriber:subscriber,context:this.context});if(!subject){subject=this.subject=new AsyncSubject_1.AsyncSubject;var handler=function handlerFn(){for(var innerArgs=[],_i=0;_i<arguments.length;_i++)innerArgs[_i-0]=arguments[_i];var source=handlerFn.source,selector=source.selector,subject=source.subject,err=innerArgs.shift();if(err)subject.error(err);else if(selector){var result_1=tryCatch_1.tryCatch(selector).apply(this,innerArgs);result_1===errorObject_1.errorObject?subject.error(errorObject_1.errorObject.e):(subject.next(result_1),subject.complete())}else subject.next(innerArgs.length<=1?innerArgs[0]:innerArgs),subject.complete()};handler.source=this;var result=tryCatch_1.tryCatch(callbackFunc).apply(this.context,args.concat(handler));result===errorObject_1.errorObject&&subject.error(errorObject_1.errorObject.e)}return subject.subscribe(subscriber)},BoundNodeCallbackObservable}(Observable_1.Observable);exports.BoundNodeCallbackObservable=BoundNodeCallbackObservable},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),subscribeToResult_1=__webpack_require__(3),OuterSubscriber_1=__webpack_require__(2),DeferObservable=function(_super){function DeferObservable(observableFactory){_super.call(this),this.observableFactory=observableFactory}return __extends(DeferObservable,_super),DeferObservable.create=function(observableFactory){return new DeferObservable(observableFactory)},DeferObservable.prototype._subscribe=function(subscriber){return new DeferSubscriber(subscriber,this.observableFactory)},DeferObservable}(Observable_1.Observable);exports.DeferObservable=DeferObservable;var DeferSubscriber=function(_super){function DeferSubscriber(destination,factory){_super.call(this,destination),this.factory=factory,this.tryDefer()}return __extends(DeferSubscriber,_super),DeferSubscriber.prototype.tryDefer=function(){try{this._callFactory()}catch(err){this._error(err)}},DeferSubscriber.prototype._callFactory=function(){var result=this.factory();result&&this.add(subscribeToResult_1.subscribeToResult(this,result))},DeferSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),ErrorObservable=function(_super){function ErrorObservable(error,scheduler){_super.call(this),this.error=error,this.scheduler=scheduler}return __extends(ErrorObservable,_super),ErrorObservable.create=function(error,scheduler){return new ErrorObservable(error,scheduler)},ErrorObservable.dispatch=function(arg){var error=arg.error,subscriber=arg.subscriber;subscriber.error(error)},ErrorObservable.prototype._subscribe=function(subscriber){var error=this.error,scheduler=this.scheduler;return scheduler?scheduler.schedule(ErrorObservable.dispatch,0,{error:error,subscriber:subscriber}):void subscriber.error(error)},ErrorObservable}(Observable_1.Observable);exports.ErrorObservable=ErrorObservable},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),EmptyObservable_1=__webpack_require__(17),isArray_1=__webpack_require__(14),subscribeToResult_1=__webpack_require__(3),OuterSubscriber_1=__webpack_require__(2),ForkJoinObservable=function(_super){function ForkJoinObservable(sources,resultSelector){_super.call(this),this.sources=sources,this.resultSelector=resultSelector}return __extends(ForkJoinObservable,_super),ForkJoinObservable.create=function(){for(var sources=[],_i=0;_i<arguments.length;_i++)sources[_i-0]=arguments[_i];if(null===sources||0===arguments.length)return new EmptyObservable_1.EmptyObservable;var resultSelector=null;return"function"==typeof sources[sources.length-1]&&(resultSelector=sources.pop()),1===sources.length&&isArray_1.isArray(sources[0])&&(sources=sources[0]),0===sources.length?new EmptyObservable_1.EmptyObservable:new ForkJoinObservable(sources,resultSelector)},ForkJoinObservable.prototype._subscribe=function(subscriber){return new ForkJoinSubscriber(subscriber,this.sources,this.resultSelector)},ForkJoinObservable}(Observable_1.Observable);exports.ForkJoinObservable=ForkJoinObservable;var ForkJoinSubscriber=function(_super){function ForkJoinSubscriber(destination,sources,resultSelector){_super.call(this,destination),this.sources=sources,this.resultSelector=resultSelector,this.completed=0,this.haveValues=0;var len=sources.length;this.total=len,this.values=new Array(len);for(var i=0;i<len;i++){var source=sources[i],innerSubscription=subscribeToResult_1.subscribeToResult(this,source,null,i);innerSubscription&&(innerSubscription.outerIndex=i,this.add(innerSubscription))}}return __extends(ForkJoinSubscriber,_super),ForkJoinSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this.values[outerIndex]=innerValue,innerSub._hasValue||(innerSub._hasValue=!0,this.haveValues++)},ForkJoinSubscriber.prototype.notifyComplete=function(innerSub){var destination=this.destination,_a=this,haveValues=_a.haveValues,resultSelector=_a.resultSelector,values=_a.values,len=values.length;if(!innerSub._hasValue)return void destination.complete();if(this.completed++,this.completed===len){if(haveValues===len){var value=resultSelector?resultSelector.apply(this,values):values;destination.next(value)}destination.complete()}},ForkJoinSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function isNodeStyleEventEmitter(sourceObj){return!!sourceObj&&"function"==typeof sourceObj.addListener&&"function"==typeof sourceObj.removeListener}function isJQueryStyleEventEmitter(sourceObj){return!!sourceObj&&"function"==typeof sourceObj.on&&"function"==typeof sourceObj.off}function isNodeList(sourceObj){return!!sourceObj&&"[object NodeList]"===toString.call(sourceObj)}function isHTMLCollection(sourceObj){return!!sourceObj&&"[object HTMLCollection]"===toString.call(sourceObj)}function isEventTarget(sourceObj){return!!sourceObj&&"function"==typeof sourceObj.addEventListener&&"function"==typeof sourceObj.removeEventListener}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),tryCatch_1=__webpack_require__(9),isFunction_1=__webpack_require__(38),errorObject_1=__webpack_require__(7),Subscription_1=__webpack_require__(5),toString=Object.prototype.toString,FromEventObservable=function(_super){function FromEventObservable(sourceObj,eventName,selector,options){_super.call(this),this.sourceObj=sourceObj,this.eventName=eventName,this.selector=selector,this.options=options}return __extends(FromEventObservable,_super),FromEventObservable.create=function(target,eventName,options,selector){return isFunction_1.isFunction(options)&&(selector=options,options=void 0),new FromEventObservable(target,eventName,selector,options)},FromEventObservable.setupSubscription=function(sourceObj,eventName,handler,subscriber,options){var unsubscribe;if(isNodeList(sourceObj)||isHTMLCollection(sourceObj))for(var i=0,len=sourceObj.length;i<len;i++)FromEventObservable.setupSubscription(sourceObj[i],eventName,handler,subscriber,options);else if(isEventTarget(sourceObj)){var source_1=sourceObj;sourceObj.addEventListener(eventName,handler,options),unsubscribe=function(){return source_1.removeEventListener(eventName,handler)}}else if(isJQueryStyleEventEmitter(sourceObj)){var source_2=sourceObj;sourceObj.on(eventName,handler),unsubscribe=function(){return source_2.off(eventName,handler)}}else{if(!isNodeStyleEventEmitter(sourceObj))throw new TypeError("Invalid event target");var source_3=sourceObj;sourceObj.addListener(eventName,handler),unsubscribe=function(){return source_3.removeListener(eventName,handler)}}subscriber.add(new Subscription_1.Subscription(unsubscribe))},FromEventObservable.prototype._subscribe=function(subscriber){var sourceObj=this.sourceObj,eventName=this.eventName,options=this.options,selector=this.selector,handler=selector?function(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i-0]=arguments[_i];var result=tryCatch_1.tryCatch(selector).apply(void 0,args);result===errorObject_1.errorObject?subscriber.error(errorObject_1.errorObject.e):subscriber.next(result)}:function(e){return subscriber.next(e)};FromEventObservable.setupSubscription(sourceObj,eventName,handler,subscriber,options)},FromEventObservable}(Observable_1.Observable);exports.FromEventObservable=FromEventObservable},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},isFunction_1=__webpack_require__(38),Observable_1=__webpack_require__(0),Subscription_1=__webpack_require__(5),FromEventPatternObservable=function(_super){function FromEventPatternObservable(addHandler,removeHandler,selector){_super.call(this),this.addHandler=addHandler,this.removeHandler=removeHandler,this.selector=selector}return __extends(FromEventPatternObservable,_super),FromEventPatternObservable.create=function(addHandler,removeHandler,selector){return new FromEventPatternObservable(addHandler,removeHandler,selector)},FromEventPatternObservable.prototype._subscribe=function(subscriber){var _this=this,removeHandler=this.removeHandler,handler=this.selector?function(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i-0]=arguments[_i];_this._callSelector(subscriber,args)}:function(e){subscriber.next(e)},retValue=this._callAddHandler(handler,subscriber);isFunction_1.isFunction(removeHandler)&&subscriber.add(new Subscription_1.Subscription(function(){removeHandler(handler,retValue)}))},FromEventPatternObservable.prototype._callSelector=function(subscriber,args){try{var result=this.selector.apply(this,args);subscriber.next(result)}catch(e){subscriber.error(e)}},FromEventPatternObservable.prototype._callAddHandler=function(handler,errorSubscriber){try{return this.addHandler(handler)||null}catch(e){errorSubscriber.error(e)}},FromEventPatternObservable}(Observable_1.Observable);exports.FromEventPatternObservable=FromEventPatternObservable},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),isScheduler_1=__webpack_require__(15),selfSelector=function(value){return value},GenerateObservable=function(_super){function GenerateObservable(initialState,condition,iterate,resultSelector,scheduler){_super.call(this),this.initialState=initialState,this.condition=condition,this.iterate=iterate,this.resultSelector=resultSelector,this.scheduler=scheduler}return __extends(GenerateObservable,_super),GenerateObservable.create=function(initialStateOrOptions,condition,iterate,resultSelectorOrObservable,scheduler){return 1==arguments.length?new GenerateObservable(initialStateOrOptions.initialState,initialStateOrOptions.condition,initialStateOrOptions.iterate,initialStateOrOptions.resultSelector||selfSelector,initialStateOrOptions.scheduler):void 0===resultSelectorOrObservable||isScheduler_1.isScheduler(resultSelectorOrObservable)?new GenerateObservable(initialStateOrOptions,condition,iterate,selfSelector,resultSelectorOrObservable):new GenerateObservable(initialStateOrOptions,condition,iterate,resultSelectorOrObservable,scheduler)},GenerateObservable.prototype._subscribe=function(subscriber){var state=this.initialState;if(this.scheduler)return this.scheduler.schedule(GenerateObservable.dispatch,0,{subscriber:subscriber,iterate:this.iterate,condition:this.condition,resultSelector:this.resultSelector,state:state});for(var _a=this,condition=_a.condition,resultSelector=_a.resultSelector,iterate=_a.iterate;;){if(condition){var conditionResult=void 0;try{conditionResult=condition(state)}catch(err){return void subscriber.error(err)}if(!conditionResult){subscriber.complete();break}}var value=void 0;try{value=resultSelector(state)}catch(err){return void subscriber.error(err)}if(subscriber.next(value),subscriber.closed)break;try{state=iterate(state)}catch(err){return void subscriber.error(err)}}},GenerateObservable.dispatch=function(state){var subscriber=state.subscriber,condition=state.condition;if(!subscriber.closed){if(state.needIterate)try{state.state=state.iterate(state.state)}catch(err){return void subscriber.error(err)}else state.needIterate=!0;if(condition){var conditionResult=void 0;try{conditionResult=condition(state.state)}catch(err){return void subscriber.error(err)}if(!conditionResult)return void subscriber.complete();if(subscriber.closed)return}var value;try{value=state.resultSelector(state.state)}catch(err){return void subscriber.error(err)}if(!subscriber.closed&&(subscriber.next(value),!subscriber.closed))return this.schedule(state)}},GenerateObservable}(Observable_1.Observable);exports.GenerateObservable=GenerateObservable},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),subscribeToResult_1=__webpack_require__(3),OuterSubscriber_1=__webpack_require__(2),IfObservable=function(_super){function IfObservable(condition,thenSource,elseSource){_super.call(this),this.condition=condition,this.thenSource=thenSource,this.elseSource=elseSource}return __extends(IfObservable,_super),IfObservable.create=function(condition,thenSource,elseSource){return new IfObservable(condition,thenSource,elseSource)},IfObservable.prototype._subscribe=function(subscriber){var _a=this,condition=_a.condition,thenSource=_a.thenSource,elseSource=_a.elseSource;return new IfSubscriber(subscriber,condition,thenSource,elseSource)},IfObservable}(Observable_1.Observable);exports.IfObservable=IfObservable;var IfSubscriber=function(_super){function IfSubscriber(destination,condition,thenSource,elseSource){_super.call(this,destination),this.condition=condition,this.thenSource=thenSource,this.elseSource=elseSource,this.tryIf()}return __extends(IfSubscriber,_super),IfSubscriber.prototype.tryIf=function(){var result,_a=this,condition=_a.condition,thenSource=_a.thenSource,elseSource=_a.elseSource;try{result=condition();var source=result?thenSource:elseSource;source?this.add(subscribeToResult_1.subscribeToResult(this,source)):this._complete()}catch(err){this._error(err)}},IfSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},isNumeric_1=__webpack_require__(39),Observable_1=__webpack_require__(0),async_1=__webpack_require__(10),IntervalObservable=function(_super){function IntervalObservable(period,scheduler){void 0===period&&(period=0),void 0===scheduler&&(scheduler=async_1.async),_super.call(this),this.period=period,this.scheduler=scheduler,(!isNumeric_1.isNumeric(period)||period<0)&&(this.period=0),scheduler&&"function"==typeof scheduler.schedule||(this.scheduler=async_1.async)}return __extends(IntervalObservable,_super),IntervalObservable.create=function(period,scheduler){return void 0===period&&(period=0),void 0===scheduler&&(scheduler=async_1.async),new IntervalObservable(period,scheduler)},IntervalObservable.dispatch=function(state){var index=state.index,subscriber=state.subscriber,period=state.period;subscriber.next(index),subscriber.closed||(state.index+=1,this.schedule(state,period))},IntervalObservable.prototype._subscribe=function(subscriber){var index=0,period=this.period,scheduler=this.scheduler;subscriber.add(scheduler.schedule(IntervalObservable.dispatch,period,{index:index,subscriber:subscriber,period:period}))},IntervalObservable}(Observable_1.Observable);exports.IntervalObservable=IntervalObservable},function(module,exports,__webpack_require__){"use strict";function getIterator(obj){var i=obj[iterator_1.$$iterator];if(!i&&"string"==typeof obj)return new StringIterator(obj);if(!i&&void 0!==obj.length)return new ArrayIterator(obj);if(!i)throw new TypeError("object is not iterable");return obj[iterator_1.$$iterator]()}function toLength(o){var len=+o.length;return isNaN(len)?0:0!==len&&numberIsFinite(len)?(len=sign(len)*Math.floor(Math.abs(len)),len<=0?0:len>maxSafeInteger?maxSafeInteger:len):len}function numberIsFinite(value){return"number"==typeof value&&root_1.root.isFinite(value)}function sign(value){var valueAsNumber=+value;return 0===valueAsNumber?valueAsNumber:isNaN(valueAsNumber)?valueAsNumber:valueAsNumber<0?-1:1}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},root_1=__webpack_require__(8),Observable_1=__webpack_require__(0),iterator_1=__webpack_require__(25),IteratorObservable=function(_super){function IteratorObservable(iterator,scheduler){if(_super.call(this),this.scheduler=scheduler,null==iterator)throw new Error("iterator cannot be null.");this.iterator=getIterator(iterator)}return __extends(IteratorObservable,_super),IteratorObservable.create=function(iterator,scheduler){return new IteratorObservable(iterator,scheduler)},IteratorObservable.dispatch=function(state){var index=state.index,hasError=state.hasError,iterator=state.iterator,subscriber=state.subscriber;if(hasError)return void subscriber.error(state.error);var result=iterator.next();return result.done?void subscriber.complete():(subscriber.next(result.value),state.index=index+1,subscriber.closed?void("function"==typeof iterator["return"]&&iterator["return"]()):void this.schedule(state))},IteratorObservable.prototype._subscribe=function(subscriber){var index=0,_a=this,iterator=_a.iterator,scheduler=_a.scheduler;if(scheduler)return scheduler.schedule(IteratorObservable.dispatch,0,{index:index,iterator:iterator,subscriber:subscriber});for(;;){var result=iterator.next();if(result.done){subscriber.complete();break}if(subscriber.next(result.value),subscriber.closed){"function"==typeof iterator["return"]&&iterator["return"]();break}}},IteratorObservable}(Observable_1.Observable);exports.IteratorObservable=IteratorObservable;var StringIterator=function(){function StringIterator(str,idx,len){void 0===idx&&(idx=0),void 0===len&&(len=str.length),this.str=str,this.idx=idx,this.len=len}return StringIterator.prototype[iterator_1.$$iterator]=function(){return this},StringIterator.prototype.next=function(){return this.idx<this.len?{done:!1,value:this.str.charAt(this.idx++)}:{done:!0,value:void 0}},StringIterator}(),ArrayIterator=function(){function ArrayIterator(arr,idx,len){void 0===idx&&(idx=0),void 0===len&&(len=toLength(arr)),this.arr=arr,this.idx=idx,this.len=len}return ArrayIterator.prototype[iterator_1.$$iterator]=function(){return this},ArrayIterator.prototype.next=function(){return this.idx<this.len?{done:!1,value:this.arr[this.idx++]}:{done:!0,value:void 0}},ArrayIterator}(),maxSafeInteger=Math.pow(2,53)-1},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),noop_1=__webpack_require__(98),NeverObservable=function(_super){function NeverObservable(){_super.call(this)}return __extends(NeverObservable,_super),NeverObservable.create=function(){return new NeverObservable},NeverObservable.prototype._subscribe=function(subscriber){noop_1.noop()},NeverObservable}(Observable_1.Observable);exports.NeverObservable=NeverObservable},function(module,exports,__webpack_require__){"use strict";function dispatch(state){var obj=state.obj,keys=state.keys,length=state.length,index=state.index,subscriber=state.subscriber;if(index===length)return void subscriber.complete();var key=keys[index];subscriber.next([key,obj[key]]),state.index=index+1,this.schedule(state)}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),PairsObservable=function(_super){function PairsObservable(obj,scheduler){_super.call(this),this.obj=obj,this.scheduler=scheduler,this.keys=Object.keys(obj)}return __extends(PairsObservable,_super),PairsObservable.create=function(obj,scheduler){return new PairsObservable(obj,scheduler)},PairsObservable.prototype._subscribe=function(subscriber){var _a=this,keys=_a.keys,scheduler=_a.scheduler,length=keys.length;if(scheduler)return scheduler.schedule(dispatch,0,{obj:this.obj,keys:keys,length:length,index:0,subscriber:subscriber});for(var idx=0;idx<length;idx++){var key=keys[idx];subscriber.next([key,this.obj[key]])}subscriber.complete()},PairsObservable}(Observable_1.Observable);exports.PairsObservable=PairsObservable},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),RangeObservable=function(_super){function RangeObservable(start,count,scheduler){_super.call(this),this.start=start,this._count=count,this.scheduler=scheduler}return __extends(RangeObservable,_super),RangeObservable.create=function(start,count,scheduler){return void 0===start&&(start=0),void 0===count&&(count=0),new RangeObservable(start,count,scheduler)},RangeObservable.dispatch=function(state){var start=state.start,index=state.index,count=state.count,subscriber=state.subscriber;return index>=count?void subscriber.complete():(subscriber.next(start),void(subscriber.closed||(state.index=index+1,state.start=start+1,this.schedule(state))))},RangeObservable.prototype._subscribe=function(subscriber){var index=0,start=this.start,count=this._count,scheduler=this.scheduler;if(scheduler)return scheduler.schedule(RangeObservable.dispatch,0,{index:index,count:count,start:start,subscriber:subscriber});for(;;){if(index++>=count){subscriber.complete();break}if(subscriber.next(start++),subscriber.closed)break}},RangeObservable}(Observable_1.Observable);
+exports.RangeObservable=RangeObservable},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),asap_1=__webpack_require__(88),isNumeric_1=__webpack_require__(39),SubscribeOnObservable=function(_super){function SubscribeOnObservable(source,delayTime,scheduler){void 0===delayTime&&(delayTime=0),void 0===scheduler&&(scheduler=asap_1.asap),_super.call(this),this.source=source,this.delayTime=delayTime,this.scheduler=scheduler,(!isNumeric_1.isNumeric(delayTime)||delayTime<0)&&(this.delayTime=0),scheduler&&"function"==typeof scheduler.schedule||(this.scheduler=asap_1.asap)}return __extends(SubscribeOnObservable,_super),SubscribeOnObservable.create=function(source,delay,scheduler){return void 0===delay&&(delay=0),void 0===scheduler&&(scheduler=asap_1.asap),new SubscribeOnObservable(source,delay,scheduler)},SubscribeOnObservable.dispatch=function(arg){var source=arg.source,subscriber=arg.subscriber;return this.add(source.subscribe(subscriber))},SubscribeOnObservable.prototype._subscribe=function(subscriber){var delay=this.delayTime,source=this.source,scheduler=this.scheduler;return scheduler.schedule(SubscribeOnObservable.dispatch,delay,{source:source,subscriber:subscriber})},SubscribeOnObservable}(Observable_1.Observable);exports.SubscribeOnObservable=SubscribeOnObservable},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},isNumeric_1=__webpack_require__(39),Observable_1=__webpack_require__(0),async_1=__webpack_require__(10),isScheduler_1=__webpack_require__(15),isDate_1=__webpack_require__(37),TimerObservable=function(_super){function TimerObservable(dueTime,period,scheduler){void 0===dueTime&&(dueTime=0),_super.call(this),this.period=-1,this.dueTime=0,isNumeric_1.isNumeric(period)?this.period=Number(period)<1&&1||Number(period):isScheduler_1.isScheduler(period)&&(scheduler=period),isScheduler_1.isScheduler(scheduler)||(scheduler=async_1.async),this.scheduler=scheduler,this.dueTime=isDate_1.isDate(dueTime)?+dueTime-this.scheduler.now():dueTime}return __extends(TimerObservable,_super),TimerObservable.create=function(initialDelay,period,scheduler){return void 0===initialDelay&&(initialDelay=0),new TimerObservable(initialDelay,period,scheduler)},TimerObservable.dispatch=function(state){var index=state.index,period=state.period,subscriber=state.subscriber,action=this;if(subscriber.next(index),!subscriber.closed){if(period===-1)return subscriber.complete();state.index=index+1,action.schedule(state,period)}},TimerObservable.prototype._subscribe=function(subscriber){var index=0,_a=this,period=_a.period,dueTime=_a.dueTime,scheduler=_a.scheduler;return scheduler.schedule(TimerObservable.dispatch,dueTime,{index:index,period:period,subscriber:subscriber})},TimerObservable}(Observable_1.Observable);exports.TimerObservable=TimerObservable},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),subscribeToResult_1=__webpack_require__(3),OuterSubscriber_1=__webpack_require__(2),UsingObservable=function(_super){function UsingObservable(resourceFactory,observableFactory){_super.call(this),this.resourceFactory=resourceFactory,this.observableFactory=observableFactory}return __extends(UsingObservable,_super),UsingObservable.create=function(resourceFactory,observableFactory){return new UsingObservable(resourceFactory,observableFactory)},UsingObservable.prototype._subscribe=function(subscriber){var resource,_a=this,resourceFactory=_a.resourceFactory,observableFactory=_a.observableFactory;try{return resource=resourceFactory(),new UsingSubscriber(subscriber,resource,observableFactory)}catch(err){subscriber.error(err)}},UsingObservable}(Observable_1.Observable);exports.UsingObservable=UsingObservable;var UsingSubscriber=function(_super){function UsingSubscriber(destination,resource,observableFactory){_super.call(this,destination),this.resource=resource,this.observableFactory=observableFactory,destination.add(resource),this.tryUse()}return __extends(UsingSubscriber,_super),UsingSubscriber.prototype.tryUse=function(){try{var source=this.observableFactory.call(this,this.resource);source&&this.add(subscribeToResult_1.subscribeToResult(this,source))}catch(err){this._error(err)}},UsingSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";var BoundCallbackObservable_1=__webpack_require__(281);exports.bindCallback=BoundCallbackObservable_1.BoundCallbackObservable.create},function(module,exports,__webpack_require__){"use strict";var BoundNodeCallbackObservable_1=__webpack_require__(282);exports.bindNodeCallback=BoundNodeCallbackObservable_1.BoundNodeCallbackObservable.create},function(module,exports,__webpack_require__){"use strict";function combineLatest(){for(var observables=[],_i=0;_i<arguments.length;_i++)observables[_i-0]=arguments[_i];var project=null,scheduler=null;return isScheduler_1.isScheduler(observables[observables.length-1])&&(scheduler=observables.pop()),"function"==typeof observables[observables.length-1]&&(project=observables.pop()),1===observables.length&&isArray_1.isArray(observables[0])&&(observables=observables[0]),new ArrayObservable_1.ArrayObservable(observables,scheduler).lift(new combineLatest_1.CombineLatestOperator(project))}var isScheduler_1=__webpack_require__(15),isArray_1=__webpack_require__(14),ArrayObservable_1=__webpack_require__(13),combineLatest_1=__webpack_require__(52);exports.combineLatest=combineLatest},function(module,exports,__webpack_require__){"use strict";var concat_1=__webpack_require__(53);exports.concat=concat_1.concatStatic},function(module,exports,__webpack_require__){"use strict";var DeferObservable_1=__webpack_require__(283);exports.defer=DeferObservable_1.DeferObservable.create},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subject_1=__webpack_require__(6),Subscriber_1=__webpack_require__(1),Observable_1=__webpack_require__(0),Subscription_1=__webpack_require__(5),root_1=__webpack_require__(8),ReplaySubject_1=__webpack_require__(50),tryCatch_1=__webpack_require__(9),errorObject_1=__webpack_require__(7),assign_1=__webpack_require__(422),WebSocketSubject=function(_super){function WebSocketSubject(urlConfigOrSource,destination){if(urlConfigOrSource instanceof Observable_1.Observable)_super.call(this,destination,urlConfigOrSource);else{if(_super.call(this),this.WebSocketCtor=root_1.root.WebSocket,this._output=new Subject_1.Subject,"string"==typeof urlConfigOrSource?this.url=urlConfigOrSource:assign_1.assign(this,urlConfigOrSource),!this.WebSocketCtor)throw new Error("no WebSocket constructor can be found");this.destination=new ReplaySubject_1.ReplaySubject}}return __extends(WebSocketSubject,_super),WebSocketSubject.prototype.resultSelector=function(e){return JSON.parse(e.data)},WebSocketSubject.create=function(urlConfigOrSource){return new WebSocketSubject(urlConfigOrSource)},WebSocketSubject.prototype.lift=function(operator){var sock=new WebSocketSubject(this,this.destination);return sock.operator=operator,sock},WebSocketSubject.prototype._resetState=function(){this.socket=null,this.source||(this.destination=new ReplaySubject_1.ReplaySubject),this._output=new Subject_1.Subject},WebSocketSubject.prototype.multiplex=function(subMsg,unsubMsg,messageFilter){var self=this;return new Observable_1.Observable(function(observer){var result=tryCatch_1.tryCatch(subMsg)();result===errorObject_1.errorObject?observer.error(errorObject_1.errorObject.e):self.next(result);var subscription=self.subscribe(function(x){var result=tryCatch_1.tryCatch(messageFilter)(x);result===errorObject_1.errorObject?observer.error(errorObject_1.errorObject.e):result&&observer.next(x)},function(err){return observer.error(err)},function(){return observer.complete()});return function(){var result=tryCatch_1.tryCatch(unsubMsg)();result===errorObject_1.errorObject?observer.error(errorObject_1.errorObject.e):self.next(result),subscription.unsubscribe()}})},WebSocketSubject.prototype._connectSocket=function(){var _this=this,WebSocketCtor=this.WebSocketCtor,observer=this._output,socket=null;try{socket=this.protocol?new WebSocketCtor(this.url,this.protocol):new WebSocketCtor(this.url),this.socket=socket,this.binaryType&&(this.socket.binaryType=this.binaryType)}catch(e){return void observer.error(e)}var subscription=new Subscription_1.Subscription(function(){_this.socket=null,socket&&1===socket.readyState&&socket.close()});socket.onopen=function(e){var openObserver=_this.openObserver;openObserver&&openObserver.next(e);var queue=_this.destination;_this.destination=Subscriber_1.Subscriber.create(function(x){return 1===socket.readyState&&socket.send(x)},function(e){var closingObserver=_this.closingObserver;closingObserver&&closingObserver.next(void 0),e&&e.code?socket.close(e.code,e.reason):observer.error(new TypeError("WebSocketSubject.error must be called with an object with an error code, and an optional reason: { code: number, reason: string }")),_this._resetState()},function(){var closingObserver=_this.closingObserver;closingObserver&&closingObserver.next(void 0),socket.close(),_this._resetState()}),queue&&queue instanceof ReplaySubject_1.ReplaySubject&&subscription.add(queue.subscribe(_this.destination))},socket.onerror=function(e){_this._resetState(),observer.error(e)},socket.onclose=function(e){_this._resetState();var closeObserver=_this.closeObserver;closeObserver&&closeObserver.next(e),e.wasClean?observer.complete():observer.error(e)},socket.onmessage=function(e){var result=tryCatch_1.tryCatch(_this.resultSelector)(e);result===errorObject_1.errorObject?observer.error(errorObject_1.errorObject.e):observer.next(result)}},WebSocketSubject.prototype._subscribe=function(subscriber){var _this=this,source=this.source;if(source)return source.subscribe(subscriber);this.socket||this._connectSocket();var subscription=new Subscription_1.Subscription;return subscription.add(this._output.subscribe(subscriber)),subscription.add(function(){var socket=_this.socket;0===_this._output.observers.length&&(socket&&1===socket.readyState&&socket.close(),_this._resetState())}),subscription},WebSocketSubject.prototype.unsubscribe=function(){var _a=this,source=_a.source,socket=_a.socket;socket&&1===socket.readyState&&(socket.close(),this._resetState()),_super.prototype.unsubscribe.call(this),source||(this.destination=new ReplaySubject_1.ReplaySubject)},WebSocketSubject}(Subject_1.AnonymousSubject);exports.WebSocketSubject=WebSocketSubject},function(module,exports,__webpack_require__){"use strict";var AjaxObservable_1=__webpack_require__(76);exports.ajax=AjaxObservable_1.AjaxObservable.create},function(module,exports,__webpack_require__){"use strict";var WebSocketSubject_1=__webpack_require__(303);exports.webSocket=WebSocketSubject_1.WebSocketSubject.create},function(module,exports,__webpack_require__){"use strict";var EmptyObservable_1=__webpack_require__(17);exports.empty=EmptyObservable_1.EmptyObservable.create},function(module,exports,__webpack_require__){"use strict";var ForkJoinObservable_1=__webpack_require__(285);exports.forkJoin=ForkJoinObservable_1.ForkJoinObservable.create},function(module,exports,__webpack_require__){"use strict";var FromObservable_1=__webpack_require__(74);exports.from=FromObservable_1.FromObservable.create},function(module,exports,__webpack_require__){"use strict";var FromEventObservable_1=__webpack_require__(286);exports.fromEvent=FromEventObservable_1.FromEventObservable.create},function(module,exports,__webpack_require__){"use strict";var FromEventPatternObservable_1=__webpack_require__(287);exports.fromEventPattern=FromEventPatternObservable_1.FromEventPatternObservable.create},function(module,exports,__webpack_require__){"use strict";var PromiseObservable_1=__webpack_require__(75);exports.fromPromise=PromiseObservable_1.PromiseObservable.create},function(module,exports,__webpack_require__){"use strict";var IfObservable_1=__webpack_require__(289);exports._if=IfObservable_1.IfObservable.create},function(module,exports,__webpack_require__){"use strict";var IntervalObservable_1=__webpack_require__(290);exports.interval=IntervalObservable_1.IntervalObservable.create},function(module,exports,__webpack_require__){"use strict";var merge_1=__webpack_require__(80);exports.merge=merge_1.mergeStatic},function(module,exports,__webpack_require__){"use strict";var NeverObservable_1=__webpack_require__(292);exports.never=NeverObservable_1.NeverObservable.create},function(module,exports,__webpack_require__){"use strict";var ArrayObservable_1=__webpack_require__(13);exports.of=ArrayObservable_1.ArrayObservable.of},function(module,exports,__webpack_require__){"use strict";var PairsObservable_1=__webpack_require__(293);exports.pairs=PairsObservable_1.PairsObservable.create},function(module,exports,__webpack_require__){"use strict";var RangeObservable_1=__webpack_require__(294);exports.range=RangeObservable_1.RangeObservable.create},function(module,exports,__webpack_require__){"use strict";var ErrorObservable_1=__webpack_require__(284);exports._throw=ErrorObservable_1.ErrorObservable.create},function(module,exports,__webpack_require__){"use strict";var TimerObservable_1=__webpack_require__(296);exports.timer=TimerObservable_1.TimerObservable.create},function(module,exports,__webpack_require__){"use strict";var UsingObservable_1=__webpack_require__(297);exports.using=UsingObservable_1.UsingObservable.create},function(module,exports,__webpack_require__){"use strict";var zip_1=__webpack_require__(57);exports.zip=zip_1.zipStatic},function(module,exports,__webpack_require__){"use strict";function audit(durationSelector){return this.lift(new AuditOperator(durationSelector))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},tryCatch_1=__webpack_require__(9),errorObject_1=__webpack_require__(7),OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.audit=audit;var AuditOperator=function(){function AuditOperator(durationSelector){this.durationSelector=durationSelector}return AuditOperator.prototype.call=function(subscriber,source){return source.subscribe(new AuditSubscriber(subscriber,this.durationSelector))},AuditOperator}(),AuditSubscriber=function(_super){function AuditSubscriber(destination,durationSelector){_super.call(this,destination),this.durationSelector=durationSelector,this.hasValue=!1}return __extends(AuditSubscriber,_super),AuditSubscriber.prototype._next=function(value){if(this.value=value,this.hasValue=!0,!this.throttled){var duration=tryCatch_1.tryCatch(this.durationSelector)(value);duration===errorObject_1.errorObject?this.destination.error(errorObject_1.errorObject.e):this.add(this.throttled=subscribeToResult_1.subscribeToResult(this,duration))}},AuditSubscriber.prototype.clearThrottle=function(){var _a=this,value=_a.value,hasValue=_a.hasValue,throttled=_a.throttled;throttled&&(this.remove(throttled),this.throttled=null,throttled.unsubscribe()),hasValue&&(this.value=null,this.hasValue=!1,this.destination.next(value))},AuditSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex){this.clearThrottle()},AuditSubscriber.prototype.notifyComplete=function(){this.clearThrottle()},AuditSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function auditTime(duration,scheduler){return void 0===scheduler&&(scheduler=async_1.async),this.lift(new AuditTimeOperator(duration,scheduler))}function dispatchNext(subscriber){subscriber.clearThrottle()}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},async_1=__webpack_require__(10),Subscriber_1=__webpack_require__(1);exports.auditTime=auditTime;var AuditTimeOperator=function(){function AuditTimeOperator(duration,scheduler){this.duration=duration,this.scheduler=scheduler}return AuditTimeOperator.prototype.call=function(subscriber,source){return source.subscribe(new AuditTimeSubscriber(subscriber,this.duration,this.scheduler))},AuditTimeOperator}(),AuditTimeSubscriber=function(_super){function AuditTimeSubscriber(destination,duration,scheduler){_super.call(this,destination),this.duration=duration,this.scheduler=scheduler,this.hasValue=!1}return __extends(AuditTimeSubscriber,_super),AuditTimeSubscriber.prototype._next=function(value){this.value=value,this.hasValue=!0,this.throttled||this.add(this.throttled=this.scheduler.schedule(dispatchNext,this.duration,this))},AuditTimeSubscriber.prototype.clearThrottle=function(){var _a=this,value=_a.value,hasValue=_a.hasValue,throttled=_a.throttled;throttled&&(this.remove(throttled),this.throttled=null,throttled.unsubscribe()),hasValue&&(this.value=null,this.hasValue=!1,this.destination.next(value))},AuditTimeSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function buffer(closingNotifier){return this.lift(new BufferOperator(closingNotifier))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.buffer=buffer;var BufferOperator=function(){function BufferOperator(closingNotifier){this.closingNotifier=closingNotifier}return BufferOperator.prototype.call=function(subscriber,source){return source.subscribe(new BufferSubscriber(subscriber,this.closingNotifier))},BufferOperator}(),BufferSubscriber=function(_super){function BufferSubscriber(destination,closingNotifier){_super.call(this,destination),this.buffer=[],this.add(subscribeToResult_1.subscribeToResult(this,closingNotifier))}return __extends(BufferSubscriber,_super),BufferSubscriber.prototype._next=function(value){this.buffer.push(value)},BufferSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){var buffer=this.buffer;this.buffer=[],this.destination.next(buffer)},BufferSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function bufferCount(bufferSize,startBufferEvery){return void 0===startBufferEvery&&(startBufferEvery=null),this.lift(new BufferCountOperator(bufferSize,startBufferEvery))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports.bufferCount=bufferCount;var BufferCountOperator=function(){function BufferCountOperator(bufferSize,startBufferEvery){this.bufferSize=bufferSize,this.startBufferEvery=startBufferEvery}return BufferCountOperator.prototype.call=function(subscriber,source){return source.subscribe(new BufferCountSubscriber(subscriber,this.bufferSize,this.startBufferEvery))},BufferCountOperator}(),BufferCountSubscriber=function(_super){function BufferCountSubscriber(destination,bufferSize,startBufferEvery){_super.call(this,destination),this.bufferSize=bufferSize,this.startBufferEvery=startBufferEvery,this.buffers=[],this.count=0}return __extends(BufferCountSubscriber,_super),BufferCountSubscriber.prototype._next=function(value){var count=this.count++,_a=this,destination=_a.destination,bufferSize=_a.bufferSize,startBufferEvery=_a.startBufferEvery,buffers=_a.buffers,startOn=null==startBufferEvery?bufferSize:startBufferEvery;count%startOn===0&&buffers.push([]);for(var i=buffers.length;i--;){var buffer=buffers[i];buffer.push(value),buffer.length===bufferSize&&(buffers.splice(i,1),destination.next(buffer))}},BufferCountSubscriber.prototype._complete=function(){for(var destination=this.destination,buffers=this.buffers;buffers.length>0;){var buffer=buffers.shift();buffer.length>0&&destination.next(buffer)}_super.prototype._complete.call(this)},BufferCountSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function bufferTime(bufferTimeSpan){var length=arguments.length,scheduler=async_1.async;isScheduler_1.isScheduler(arguments[arguments.length-1])&&(scheduler=arguments[arguments.length-1],length--);var bufferCreationInterval=null;length>=2&&(bufferCreationInterval=arguments[1]);var maxBufferSize=Number.POSITIVE_INFINITY;return length>=3&&(maxBufferSize=arguments[2]),this.lift(new BufferTimeOperator(bufferTimeSpan,bufferCreationInterval,maxBufferSize,scheduler))}function dispatchBufferTimeSpanOnly(state){var subscriber=state.subscriber,prevContext=state.context;prevContext&&subscriber.closeContext(prevContext),subscriber.closed||(state.context=subscriber.openContext(),state.context.closeAction=this.schedule(state,state.bufferTimeSpan))}function dispatchBufferCreation(state){var bufferCreationInterval=state.bufferCreationInterval,bufferTimeSpan=state.bufferTimeSpan,subscriber=state.subscriber,scheduler=state.scheduler,context=subscriber.openContext(),action=this;subscriber.closed||(subscriber.add(context.closeAction=scheduler.schedule(dispatchBufferClose,bufferTimeSpan,{subscriber:subscriber,context:context})),action.schedule(state,bufferCreationInterval))}function dispatchBufferClose(arg){var subscriber=arg.subscriber,context=arg.context;subscriber.closeContext(context)}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},async_1=__webpack_require__(10),Subscriber_1=__webpack_require__(1),isScheduler_1=__webpack_require__(15);exports.bufferTime=bufferTime;var BufferTimeOperator=function(){function BufferTimeOperator(bufferTimeSpan,bufferCreationInterval,maxBufferSize,scheduler){this.bufferTimeSpan=bufferTimeSpan,this.bufferCreationInterval=bufferCreationInterval,this.maxBufferSize=maxBufferSize,this.scheduler=scheduler}return BufferTimeOperator.prototype.call=function(subscriber,source){return source.subscribe(new BufferTimeSubscriber(subscriber,this.bufferTimeSpan,this.bufferCreationInterval,this.maxBufferSize,this.scheduler))},BufferTimeOperator}(),Context=function(){function Context(){this.buffer=[]}return Context}(),BufferTimeSubscriber=function(_super){function BufferTimeSubscriber(destination,bufferTimeSpan,bufferCreationInterval,maxBufferSize,scheduler){_super.call(this,destination),this.bufferTimeSpan=bufferTimeSpan,this.bufferCreationInterval=bufferCreationInterval,this.maxBufferSize=maxBufferSize,this.scheduler=scheduler,this.contexts=[];var context=this.openContext();if(this.timespanOnly=null==bufferCreationInterval||bufferCreationInterval<0,this.timespanOnly){var timeSpanOnlyState={subscriber:this,context:context,bufferTimeSpan:bufferTimeSpan};this.add(context.closeAction=scheduler.schedule(dispatchBufferTimeSpanOnly,bufferTimeSpan,timeSpanOnlyState))}else{var closeState={subscriber:this,context:context},creationState={bufferTimeSpan:bufferTimeSpan,bufferCreationInterval:bufferCreationInterval,subscriber:this,scheduler:scheduler};this.add(context.closeAction=scheduler.schedule(dispatchBufferClose,bufferTimeSpan,closeState)),this.add(scheduler.schedule(dispatchBufferCreation,bufferCreationInterval,creationState))}}return __extends(BufferTimeSubscriber,_super),BufferTimeSubscriber.prototype._next=function(value){for(var filledBufferContext,contexts=this.contexts,len=contexts.length,i=0;i<len;i++){var context=contexts[i],buffer=context.buffer;buffer.push(value),buffer.length==this.maxBufferSize&&(filledBufferContext=context)}filledBufferContext&&this.onBufferFull(filledBufferContext)},BufferTimeSubscriber.prototype._error=function(err){this.contexts.length=0,_super.prototype._error.call(this,err)},BufferTimeSubscriber.prototype._complete=function(){for(var _a=this,contexts=_a.contexts,destination=_a.destination;contexts.length>0;){var context=contexts.shift();destination.next(context.buffer)}_super.prototype._complete.call(this)},BufferTimeSubscriber.prototype._unsubscribe=function(){this.contexts=null},BufferTimeSubscriber.prototype.onBufferFull=function(context){this.closeContext(context);var closeAction=context.closeAction;if(closeAction.unsubscribe(),this.remove(closeAction),!this.closed&&this.timespanOnly){context=this.openContext();var bufferTimeSpan=this.bufferTimeSpan,timeSpanOnlyState={subscriber:this,context:context,bufferTimeSpan:bufferTimeSpan};this.add(context.closeAction=this.scheduler.schedule(dispatchBufferTimeSpanOnly,bufferTimeSpan,timeSpanOnlyState))}},BufferTimeSubscriber.prototype.openContext=function(){var context=new Context;return this.contexts.push(context),context},BufferTimeSubscriber.prototype.closeContext=function(context){this.destination.next(context.buffer);var contexts=this.contexts,spliceIndex=contexts?contexts.indexOf(context):-1;spliceIndex>=0&&contexts.splice(contexts.indexOf(context),1)},BufferTimeSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function bufferToggle(openings,closingSelector){return this.lift(new BufferToggleOperator(openings,closingSelector))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscription_1=__webpack_require__(5),subscribeToResult_1=__webpack_require__(3),OuterSubscriber_1=__webpack_require__(2);exports.bufferToggle=bufferToggle;var BufferToggleOperator=function(){function BufferToggleOperator(openings,closingSelector){this.openings=openings,this.closingSelector=closingSelector}return BufferToggleOperator.prototype.call=function(subscriber,source){return source.subscribe(new BufferToggleSubscriber(subscriber,this.openings,this.closingSelector))},BufferToggleOperator}(),BufferToggleSubscriber=function(_super){function BufferToggleSubscriber(destination,openings,closingSelector){_super.call(this,destination),this.openings=openings,this.closingSelector=closingSelector,this.contexts=[],this.add(subscribeToResult_1.subscribeToResult(this,openings))}return __extends(BufferToggleSubscriber,_super),BufferToggleSubscriber.prototype._next=function(value){for(var contexts=this.contexts,len=contexts.length,i=0;i<len;i++)contexts[i].buffer.push(value)},BufferToggleSubscriber.prototype._error=function(err){for(var contexts=this.contexts;contexts.length>0;){var context=contexts.shift();context.subscription.unsubscribe(),context.buffer=null,context.subscription=null}this.contexts=null,_super.prototype._error.call(this,err)},BufferToggleSubscriber.prototype._complete=function(){for(var contexts=this.contexts;contexts.length>0;){var context=contexts.shift();this.destination.next(context.buffer),context.subscription.unsubscribe(),context.buffer=null,context.subscription=null}this.contexts=null,_super.prototype._complete.call(this)},BufferToggleSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){outerValue?this.closeBuffer(outerValue):this.openBuffer(innerValue)},BufferToggleSubscriber.prototype.notifyComplete=function(innerSub){this.closeBuffer(innerSub.context)},BufferToggleSubscriber.prototype.openBuffer=function(value){try{var closingSelector=this.closingSelector,closingNotifier=closingSelector.call(this,value);closingNotifier&&this.trySubscribe(closingNotifier)}catch(err){this._error(err)}},BufferToggleSubscriber.prototype.closeBuffer=function(context){var contexts=this.contexts;if(contexts&&context){var buffer=context.buffer,subscription=context.subscription;this.destination.next(buffer),contexts.splice(contexts.indexOf(context),1),this.remove(subscription),subscription.unsubscribe()}},BufferToggleSubscriber.prototype.trySubscribe=function(closingNotifier){var contexts=this.contexts,buffer=[],subscription=new Subscription_1.Subscription,context={buffer:buffer,subscription:subscription};contexts.push(context);var innerSubscription=subscribeToResult_1.subscribeToResult(this,closingNotifier,context);!innerSubscription||innerSubscription.closed?this.closeBuffer(context):(innerSubscription.context=context,this.add(innerSubscription),subscription.add(innerSubscription))},BufferToggleSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function bufferWhen(closingSelector){return this.lift(new BufferWhenOperator(closingSelector))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscription_1=__webpack_require__(5),tryCatch_1=__webpack_require__(9),errorObject_1=__webpack_require__(7),OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.bufferWhen=bufferWhen;var BufferWhenOperator=function(){function BufferWhenOperator(closingSelector){this.closingSelector=closingSelector}return BufferWhenOperator.prototype.call=function(subscriber,source){return source.subscribe(new BufferWhenSubscriber(subscriber,this.closingSelector))},BufferWhenOperator}(),BufferWhenSubscriber=function(_super){function BufferWhenSubscriber(destination,closingSelector){_super.call(this,destination),this.closingSelector=closingSelector,this.subscribing=!1,this.openBuffer()}return __extends(BufferWhenSubscriber,_super),BufferWhenSubscriber.prototype._next=function(value){this.buffer.push(value)},BufferWhenSubscriber.prototype._complete=function(){var buffer=this.buffer;buffer&&this.destination.next(buffer),_super.prototype._complete.call(this)},BufferWhenSubscriber.prototype._unsubscribe=function(){this.buffer=null,this.subscribing=!1},BufferWhenSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this.openBuffer()},BufferWhenSubscriber.prototype.notifyComplete=function(){this.subscribing?this.complete():this.openBuffer()},BufferWhenSubscriber.prototype.openBuffer=function(){var closingSubscription=this.closingSubscription;closingSubscription&&(this.remove(closingSubscription),closingSubscription.unsubscribe());var buffer=this.buffer;this.buffer&&this.destination.next(buffer),this.buffer=[];var closingNotifier=tryCatch_1.tryCatch(this.closingSelector)();closingNotifier===errorObject_1.errorObject?this.error(errorObject_1.errorObject.e):(closingSubscription=new Subscription_1.Subscription,this.closingSubscription=closingSubscription,this.add(closingSubscription),this.subscribing=!0,closingSubscription.add(subscribeToResult_1.subscribeToResult(this,closingNotifier)),this.subscribing=!1)},BufferWhenSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function _catch(selector){var operator=new CatchOperator(selector),caught=this.lift(operator);return operator.caught=caught}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __);
+},OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports._catch=_catch;var CatchOperator=function(){function CatchOperator(selector){this.selector=selector}return CatchOperator.prototype.call=function(subscriber,source){return source.subscribe(new CatchSubscriber(subscriber,this.selector,this.caught))},CatchOperator}(),CatchSubscriber=function(_super){function CatchSubscriber(destination,selector,caught){_super.call(this,destination),this.selector=selector,this.caught=caught}return __extends(CatchSubscriber,_super),CatchSubscriber.prototype.error=function(err){if(!this.isStopped){var result=void 0;try{result=this.selector(err,this.caught)}catch(err2){return void _super.prototype.error.call(this,err2)}this._unsubscribeAndRecycle(),this.add(subscribeToResult_1.subscribeToResult(this,result))}},CatchSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function combineAll(project){return this.lift(new combineLatest_1.CombineLatestOperator(project))}var combineLatest_1=__webpack_require__(52);exports.combineAll=combineAll},function(module,exports,__webpack_require__){"use strict";function concatAll(){return this.lift(new mergeAll_1.MergeAllOperator(1))}var mergeAll_1=__webpack_require__(31);exports.concatAll=concatAll},function(module,exports,__webpack_require__){"use strict";function concatMap(project,resultSelector){return this.lift(new mergeMap_1.MergeMapOperator(project,resultSelector,1))}var mergeMap_1=__webpack_require__(81);exports.concatMap=concatMap},function(module,exports,__webpack_require__){"use strict";function concatMapTo(innerObservable,resultSelector){return this.lift(new mergeMapTo_1.MergeMapToOperator(innerObservable,resultSelector,1))}var mergeMapTo_1=__webpack_require__(82);exports.concatMapTo=concatMapTo},function(module,exports,__webpack_require__){"use strict";function count(predicate){return this.lift(new CountOperator(predicate,this))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports.count=count;var CountOperator=function(){function CountOperator(predicate,source){this.predicate=predicate,this.source=source}return CountOperator.prototype.call=function(subscriber,source){return source.subscribe(new CountSubscriber(subscriber,this.predicate,this.source))},CountOperator}(),CountSubscriber=function(_super){function CountSubscriber(destination,predicate,source){_super.call(this,destination),this.predicate=predicate,this.source=source,this.count=0,this.index=0}return __extends(CountSubscriber,_super),CountSubscriber.prototype._next=function(value){this.predicate?this._tryPredicate(value):this.count++},CountSubscriber.prototype._tryPredicate=function(value){var result;try{result=this.predicate(value,this.index++,this.source)}catch(err){return void this.destination.error(err)}result&&this.count++},CountSubscriber.prototype._complete=function(){this.destination.next(this.count),this.destination.complete()},CountSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function debounce(durationSelector){return this.lift(new DebounceOperator(durationSelector))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.debounce=debounce;var DebounceOperator=function(){function DebounceOperator(durationSelector){this.durationSelector=durationSelector}return DebounceOperator.prototype.call=function(subscriber,source){return source.subscribe(new DebounceSubscriber(subscriber,this.durationSelector))},DebounceOperator}(),DebounceSubscriber=function(_super){function DebounceSubscriber(destination,durationSelector){_super.call(this,destination),this.durationSelector=durationSelector,this.hasValue=!1,this.durationSubscription=null}return __extends(DebounceSubscriber,_super),DebounceSubscriber.prototype._next=function(value){try{var result=this.durationSelector.call(this,value);result&&this._tryNext(value,result)}catch(err){this.destination.error(err)}},DebounceSubscriber.prototype._complete=function(){this.emitValue(),this.destination.complete()},DebounceSubscriber.prototype._tryNext=function(value,duration){var subscription=this.durationSubscription;this.value=value,this.hasValue=!0,subscription&&(subscription.unsubscribe(),this.remove(subscription)),subscription=subscribeToResult_1.subscribeToResult(this,duration),subscription.closed||this.add(this.durationSubscription=subscription)},DebounceSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this.emitValue()},DebounceSubscriber.prototype.notifyComplete=function(){this.emitValue()},DebounceSubscriber.prototype.emitValue=function(){if(this.hasValue){var value=this.value,subscription=this.durationSubscription;subscription&&(this.durationSubscription=null,subscription.unsubscribe(),this.remove(subscription)),this.value=null,this.hasValue=!1,_super.prototype._next.call(this,value)}},DebounceSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function debounceTime(dueTime,scheduler){return void 0===scheduler&&(scheduler=async_1.async),this.lift(new DebounceTimeOperator(dueTime,scheduler))}function dispatchNext(subscriber){subscriber.debouncedNext()}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),async_1=__webpack_require__(10);exports.debounceTime=debounceTime;var DebounceTimeOperator=function(){function DebounceTimeOperator(dueTime,scheduler){this.dueTime=dueTime,this.scheduler=scheduler}return DebounceTimeOperator.prototype.call=function(subscriber,source){return source.subscribe(new DebounceTimeSubscriber(subscriber,this.dueTime,this.scheduler))},DebounceTimeOperator}(),DebounceTimeSubscriber=function(_super){function DebounceTimeSubscriber(destination,dueTime,scheduler){_super.call(this,destination),this.dueTime=dueTime,this.scheduler=scheduler,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}return __extends(DebounceTimeSubscriber,_super),DebounceTimeSubscriber.prototype._next=function(value){this.clearDebounce(),this.lastValue=value,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(dispatchNext,this.dueTime,this))},DebounceTimeSubscriber.prototype._complete=function(){this.debouncedNext(),this.destination.complete()},DebounceTimeSubscriber.prototype.debouncedNext=function(){this.clearDebounce(),this.hasValue&&(this.destination.next(this.lastValue),this.lastValue=null,this.hasValue=!1)},DebounceTimeSubscriber.prototype.clearDebounce=function(){var debouncedSubscription=this.debouncedSubscription;null!==debouncedSubscription&&(this.remove(debouncedSubscription),debouncedSubscription.unsubscribe(),this.debouncedSubscription=null)},DebounceTimeSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function defaultIfEmpty(defaultValue){return void 0===defaultValue&&(defaultValue=null),this.lift(new DefaultIfEmptyOperator(defaultValue))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports.defaultIfEmpty=defaultIfEmpty;var DefaultIfEmptyOperator=function(){function DefaultIfEmptyOperator(defaultValue){this.defaultValue=defaultValue}return DefaultIfEmptyOperator.prototype.call=function(subscriber,source){return source.subscribe(new DefaultIfEmptySubscriber(subscriber,this.defaultValue))},DefaultIfEmptyOperator}(),DefaultIfEmptySubscriber=function(_super){function DefaultIfEmptySubscriber(destination,defaultValue){_super.call(this,destination),this.defaultValue=defaultValue,this.isEmpty=!0}return __extends(DefaultIfEmptySubscriber,_super),DefaultIfEmptySubscriber.prototype._next=function(value){this.isEmpty=!1,this.destination.next(value)},DefaultIfEmptySubscriber.prototype._complete=function(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()},DefaultIfEmptySubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function delay(delay,scheduler){void 0===scheduler&&(scheduler=async_1.async);var absoluteDelay=isDate_1.isDate(delay),delayFor=absoluteDelay?+delay-scheduler.now():Math.abs(delay);return this.lift(new DelayOperator(delayFor,scheduler))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},async_1=__webpack_require__(10),isDate_1=__webpack_require__(37),Subscriber_1=__webpack_require__(1),Notification_1=__webpack_require__(22);exports.delay=delay;var DelayOperator=function(){function DelayOperator(delay,scheduler){this.delay=delay,this.scheduler=scheduler}return DelayOperator.prototype.call=function(subscriber,source){return source.subscribe(new DelaySubscriber(subscriber,this.delay,this.scheduler))},DelayOperator}(),DelaySubscriber=function(_super){function DelaySubscriber(destination,delay,scheduler){_super.call(this,destination),this.delay=delay,this.scheduler=scheduler,this.queue=[],this.active=!1,this.errored=!1}return __extends(DelaySubscriber,_super),DelaySubscriber.dispatch=function(state){for(var source=state.source,queue=source.queue,scheduler=state.scheduler,destination=state.destination;queue.length>0&&queue[0].time-scheduler.now()<=0;)queue.shift().notification.observe(destination);if(queue.length>0){var delay_1=Math.max(0,queue[0].time-scheduler.now());this.schedule(state,delay_1)}else source.active=!1},DelaySubscriber.prototype._schedule=function(scheduler){this.active=!0,this.add(scheduler.schedule(DelaySubscriber.dispatch,this.delay,{source:this,destination:this.destination,scheduler:scheduler}))},DelaySubscriber.prototype.scheduleNotification=function(notification){if(this.errored!==!0){var scheduler=this.scheduler,message=new DelayMessage(scheduler.now()+this.delay,notification);this.queue.push(message),this.active===!1&&this._schedule(scheduler)}},DelaySubscriber.prototype._next=function(value){this.scheduleNotification(Notification_1.Notification.createNext(value))},DelaySubscriber.prototype._error=function(err){this.errored=!0,this.queue=[],this.destination.error(err)},DelaySubscriber.prototype._complete=function(){this.scheduleNotification(Notification_1.Notification.createComplete())},DelaySubscriber}(Subscriber_1.Subscriber),DelayMessage=function(){function DelayMessage(time,notification){this.time=time,this.notification=notification}return DelayMessage}()},function(module,exports,__webpack_require__){"use strict";function delayWhen(delayDurationSelector,subscriptionDelay){return subscriptionDelay?new SubscriptionDelayObservable(this,subscriptionDelay).lift(new DelayWhenOperator(delayDurationSelector)):this.lift(new DelayWhenOperator(delayDurationSelector))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),Observable_1=__webpack_require__(0),OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.delayWhen=delayWhen;var DelayWhenOperator=function(){function DelayWhenOperator(delayDurationSelector){this.delayDurationSelector=delayDurationSelector}return DelayWhenOperator.prototype.call=function(subscriber,source){return source.subscribe(new DelayWhenSubscriber(subscriber,this.delayDurationSelector))},DelayWhenOperator}(),DelayWhenSubscriber=function(_super){function DelayWhenSubscriber(destination,delayDurationSelector){_super.call(this,destination),this.delayDurationSelector=delayDurationSelector,this.completed=!1,this.delayNotifierSubscriptions=[],this.values=[]}return __extends(DelayWhenSubscriber,_super),DelayWhenSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this.destination.next(outerValue),this.removeSubscription(innerSub),this.tryComplete()},DelayWhenSubscriber.prototype.notifyError=function(error,innerSub){this._error(error)},DelayWhenSubscriber.prototype.notifyComplete=function(innerSub){var value=this.removeSubscription(innerSub);value&&this.destination.next(value),this.tryComplete()},DelayWhenSubscriber.prototype._next=function(value){try{var delayNotifier=this.delayDurationSelector(value);delayNotifier&&this.tryDelay(delayNotifier,value)}catch(err){this.destination.error(err)}},DelayWhenSubscriber.prototype._complete=function(){this.completed=!0,this.tryComplete()},DelayWhenSubscriber.prototype.removeSubscription=function(subscription){subscription.unsubscribe();var subscriptionIdx=this.delayNotifierSubscriptions.indexOf(subscription),value=null;return subscriptionIdx!==-1&&(value=this.values[subscriptionIdx],this.delayNotifierSubscriptions.splice(subscriptionIdx,1),this.values.splice(subscriptionIdx,1)),value},DelayWhenSubscriber.prototype.tryDelay=function(delayNotifier,value){var notifierSubscription=subscribeToResult_1.subscribeToResult(this,delayNotifier,value);this.add(notifierSubscription),this.delayNotifierSubscriptions.push(notifierSubscription),this.values.push(value)},DelayWhenSubscriber.prototype.tryComplete=function(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()},DelayWhenSubscriber}(OuterSubscriber_1.OuterSubscriber),SubscriptionDelayObservable=function(_super){function SubscriptionDelayObservable(source,subscriptionDelay){_super.call(this),this.source=source,this.subscriptionDelay=subscriptionDelay}return __extends(SubscriptionDelayObservable,_super),SubscriptionDelayObservable.prototype._subscribe=function(subscriber){this.subscriptionDelay.subscribe(new SubscriptionDelaySubscriber(subscriber,this.source))},SubscriptionDelayObservable}(Observable_1.Observable),SubscriptionDelaySubscriber=function(_super){function SubscriptionDelaySubscriber(parent,source){_super.call(this),this.parent=parent,this.source=source,this.sourceSubscribed=!1}return __extends(SubscriptionDelaySubscriber,_super),SubscriptionDelaySubscriber.prototype._next=function(unused){this.subscribeToSource()},SubscriptionDelaySubscriber.prototype._error=function(err){this.unsubscribe(),this.parent.error(err)},SubscriptionDelaySubscriber.prototype._complete=function(){this.subscribeToSource()},SubscriptionDelaySubscriber.prototype.subscribeToSource=function(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))},SubscriptionDelaySubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function dematerialize(){return this.lift(new DeMaterializeOperator)}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports.dematerialize=dematerialize;var DeMaterializeOperator=function(){function DeMaterializeOperator(){}return DeMaterializeOperator.prototype.call=function(subscriber,source){return source.subscribe(new DeMaterializeSubscriber(subscriber))},DeMaterializeOperator}(),DeMaterializeSubscriber=function(_super){function DeMaterializeSubscriber(destination){_super.call(this,destination)}return __extends(DeMaterializeSubscriber,_super),DeMaterializeSubscriber.prototype._next=function(value){value.observe(this.destination)},DeMaterializeSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function distinct(keySelector,flushes){return this.lift(new DistinctOperator(keySelector,flushes))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3),Set_1=__webpack_require__(421);exports.distinct=distinct;var DistinctOperator=function(){function DistinctOperator(keySelector,flushes){this.keySelector=keySelector,this.flushes=flushes}return DistinctOperator.prototype.call=function(subscriber,source){return source.subscribe(new DistinctSubscriber(subscriber,this.keySelector,this.flushes))},DistinctOperator}(),DistinctSubscriber=function(_super){function DistinctSubscriber(destination,keySelector,flushes){_super.call(this,destination),this.keySelector=keySelector,this.values=new Set_1.Set,flushes&&this.add(subscribeToResult_1.subscribeToResult(this,flushes))}return __extends(DistinctSubscriber,_super),DistinctSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this.values.clear()},DistinctSubscriber.prototype.notifyError=function(error,innerSub){this._error(error)},DistinctSubscriber.prototype._next=function(value){this.keySelector?this._useKeySelector(value):this._finalizeNext(value,value)},DistinctSubscriber.prototype._useKeySelector=function(value){var key,destination=this.destination;try{key=this.keySelector(value)}catch(err){return void destination.error(err)}this._finalizeNext(key,value)},DistinctSubscriber.prototype._finalizeNext=function(key,value){var values=this.values;values.has(key)||(values.add(key),this.destination.next(value))},DistinctSubscriber}(OuterSubscriber_1.OuterSubscriber);exports.DistinctSubscriber=DistinctSubscriber},function(module,exports,__webpack_require__){"use strict";function distinctUntilKeyChanged(key,compare){return distinctUntilChanged_1.distinctUntilChanged.call(this,function(x,y){return compare?compare(x[key],y[key]):x[key]===y[key]})}var distinctUntilChanged_1=__webpack_require__(77);exports.distinctUntilKeyChanged=distinctUntilKeyChanged},function(module,exports,__webpack_require__){"use strict";function _do(nextOrObserver,error,complete){return this.lift(new DoOperator(nextOrObserver,error,complete))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports._do=_do;var DoOperator=function(){function DoOperator(nextOrObserver,error,complete){this.nextOrObserver=nextOrObserver,this.error=error,this.complete=complete}return DoOperator.prototype.call=function(subscriber,source){return source.subscribe(new DoSubscriber(subscriber,this.nextOrObserver,this.error,this.complete))},DoOperator}(),DoSubscriber=function(_super){function DoSubscriber(destination,nextOrObserver,error,complete){_super.call(this,destination);var safeSubscriber=new Subscriber_1.Subscriber(nextOrObserver,error,complete);safeSubscriber.syncErrorThrowable=!0,this.add(safeSubscriber),this.safeSubscriber=safeSubscriber}return __extends(DoSubscriber,_super),DoSubscriber.prototype._next=function(value){var safeSubscriber=this.safeSubscriber;safeSubscriber.next(value),safeSubscriber.syncErrorThrown?this.destination.error(safeSubscriber.syncErrorValue):this.destination.next(value)},DoSubscriber.prototype._error=function(err){var safeSubscriber=this.safeSubscriber;safeSubscriber.error(err),safeSubscriber.syncErrorThrown?this.destination.error(safeSubscriber.syncErrorValue):this.destination.error(err)},DoSubscriber.prototype._complete=function(){var safeSubscriber=this.safeSubscriber;safeSubscriber.complete(),safeSubscriber.syncErrorThrown?this.destination.error(safeSubscriber.syncErrorValue):this.destination.complete()},DoSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function elementAt(index,defaultValue){return this.lift(new ElementAtOperator(index,defaultValue))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),ArgumentOutOfRangeError_1=__webpack_require__(34);exports.elementAt=elementAt;var ElementAtOperator=function(){function ElementAtOperator(index,defaultValue){if(this.index=index,this.defaultValue=defaultValue,index<0)throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError}return ElementAtOperator.prototype.call=function(subscriber,source){return source.subscribe(new ElementAtSubscriber(subscriber,this.index,this.defaultValue))},ElementAtOperator}(),ElementAtSubscriber=function(_super){function ElementAtSubscriber(destination,index,defaultValue){_super.call(this,destination),this.index=index,this.defaultValue=defaultValue}return __extends(ElementAtSubscriber,_super),ElementAtSubscriber.prototype._next=function(x){0===this.index--&&(this.destination.next(x),this.destination.complete())},ElementAtSubscriber.prototype._complete=function(){var destination=this.destination;this.index>=0&&("undefined"!=typeof this.defaultValue?destination.next(this.defaultValue):destination.error(new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError)),destination.complete()},ElementAtSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function every(predicate,thisArg){return this.lift(new EveryOperator(predicate,thisArg,this))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports.every=every;var EveryOperator=function(){function EveryOperator(predicate,thisArg,source){this.predicate=predicate,this.thisArg=thisArg,this.source=source}return EveryOperator.prototype.call=function(observer,source){return source.subscribe(new EverySubscriber(observer,this.predicate,this.thisArg,this.source))},EveryOperator}(),EverySubscriber=function(_super){function EverySubscriber(destination,predicate,thisArg,source){_super.call(this,destination),this.predicate=predicate,this.thisArg=thisArg,this.source=source,this.index=0,this.thisArg=thisArg||this}return __extends(EverySubscriber,_super),EverySubscriber.prototype.notifyComplete=function(everyValueMatch){this.destination.next(everyValueMatch),this.destination.complete()},EverySubscriber.prototype._next=function(value){var result=!1;try{result=this.predicate.call(this.thisArg,value,this.index++,this.source)}catch(err){return void this.destination.error(err)}result||this.notifyComplete(!1)},EverySubscriber.prototype._complete=function(){this.notifyComplete(!0)},EverySubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function exhaust(){return this.lift(new SwitchFirstOperator)}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.exhaust=exhaust;var SwitchFirstOperator=function(){function SwitchFirstOperator(){}return SwitchFirstOperator.prototype.call=function(subscriber,source){return source.subscribe(new SwitchFirstSubscriber(subscriber))},SwitchFirstOperator}(),SwitchFirstSubscriber=function(_super){function SwitchFirstSubscriber(destination){_super.call(this,destination),this.hasCompleted=!1,this.hasSubscription=!1}return __extends(SwitchFirstSubscriber,_super),SwitchFirstSubscriber.prototype._next=function(value){this.hasSubscription||(this.hasSubscription=!0,this.add(subscribeToResult_1.subscribeToResult(this,value)))},SwitchFirstSubscriber.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},SwitchFirstSubscriber.prototype.notifyComplete=function(innerSub){this.remove(innerSub),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},SwitchFirstSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function exhaustMap(project,resultSelector){return this.lift(new SwitchFirstMapOperator(project,resultSelector))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.exhaustMap=exhaustMap;var SwitchFirstMapOperator=function(){function SwitchFirstMapOperator(project,resultSelector){this.project=project,this.resultSelector=resultSelector}return SwitchFirstMapOperator.prototype.call=function(subscriber,source){return source.subscribe(new SwitchFirstMapSubscriber(subscriber,this.project,this.resultSelector))},SwitchFirstMapOperator}(),SwitchFirstMapSubscriber=function(_super){function SwitchFirstMapSubscriber(destination,project,resultSelector){_super.call(this,destination),this.project=project,this.resultSelector=resultSelector,this.hasSubscription=!1,this.hasCompleted=!1,this.index=0}return __extends(SwitchFirstMapSubscriber,_super),SwitchFirstMapSubscriber.prototype._next=function(value){this.hasSubscription||this.tryNext(value)},SwitchFirstMapSubscriber.prototype.tryNext=function(value){var index=this.index++,destination=this.destination;try{var result=this.project(value,index);this.hasSubscription=!0,this.add(subscribeToResult_1.subscribeToResult(this,result,value,index))}catch(err){destination.error(err)}},SwitchFirstMapSubscriber.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},SwitchFirstMapSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){var _a=this,resultSelector=_a.resultSelector,destination=_a.destination;resultSelector?this.trySelectResult(outerValue,innerValue,outerIndex,innerIndex):destination.next(innerValue)},SwitchFirstMapSubscriber.prototype.trySelectResult=function(outerValue,innerValue,outerIndex,innerIndex){var _a=this,resultSelector=_a.resultSelector,destination=_a.destination;try{var result=resultSelector(outerValue,innerValue,outerIndex,innerIndex);destination.next(result)}catch(err){destination.error(err)}},SwitchFirstMapSubscriber.prototype.notifyError=function(err){this.destination.error(err)},SwitchFirstMapSubscriber.prototype.notifyComplete=function(innerSub){this.remove(innerSub),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},SwitchFirstMapSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function expand(project,concurrent,scheduler){return void 0===concurrent&&(concurrent=Number.POSITIVE_INFINITY),void 0===scheduler&&(scheduler=void 0),concurrent=(concurrent||0)<1?Number.POSITIVE_INFINITY:concurrent,this.lift(new ExpandOperator(project,concurrent,scheduler))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},tryCatch_1=__webpack_require__(9),errorObject_1=__webpack_require__(7),OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.expand=expand;var ExpandOperator=function(){function ExpandOperator(project,concurrent,scheduler){this.project=project,this.concurrent=concurrent,this.scheduler=scheduler}return ExpandOperator.prototype.call=function(subscriber,source){return source.subscribe(new ExpandSubscriber(subscriber,this.project,this.concurrent,this.scheduler))},ExpandOperator}();exports.ExpandOperator=ExpandOperator;var ExpandSubscriber=function(_super){function ExpandSubscriber(destination,project,concurrent,scheduler){_super.call(this,destination),this.project=project,this.concurrent=concurrent,this.scheduler=scheduler,this.index=0,this.active=0,this.hasCompleted=!1,concurrent<Number.POSITIVE_INFINITY&&(this.buffer=[])}return __extends(ExpandSubscriber,_super),ExpandSubscriber.dispatch=function(arg){var subscriber=arg.subscriber,result=arg.result,value=arg.value,index=arg.index;subscriber.subscribeToProjection(result,value,index)},ExpandSubscriber.prototype._next=function(value){var destination=this.destination;if(destination.closed)return void this._complete();var index=this.index++;if(this.active<this.concurrent){destination.next(value);var result=tryCatch_1.tryCatch(this.project)(value,index);if(result===errorObject_1.errorObject)destination.error(errorObject_1.errorObject.e);else if(this.scheduler){var state={subscriber:this,result:result,value:value,index:index};this.add(this.scheduler.schedule(ExpandSubscriber.dispatch,0,state))}else this.subscribeToProjection(result,value,index)}else this.buffer.push(value)},ExpandSubscriber.prototype.subscribeToProjection=function(result,value,index){this.active++,this.add(subscribeToResult_1.subscribeToResult(this,result,value,index))},ExpandSubscriber.prototype._complete=function(){this.hasCompleted=!0,this.hasCompleted&&0===this.active&&this.destination.complete()},ExpandSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this._next(innerValue)},ExpandSubscriber.prototype.notifyComplete=function(innerSub){var buffer=this.buffer;this.remove(innerSub),this.active--,buffer&&buffer.length>0&&this._next(buffer.shift()),this.hasCompleted&&0===this.active&&this.destination.complete()},ExpandSubscriber}(OuterSubscriber_1.OuterSubscriber);exports.ExpandSubscriber=ExpandSubscriber},function(module,exports,__webpack_require__){"use strict";function _finally(callback){return this.lift(new FinallyOperator(callback))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),Subscription_1=__webpack_require__(5);exports._finally=_finally;var FinallyOperator=function(){function FinallyOperator(callback){this.callback=callback}return FinallyOperator.prototype.call=function(subscriber,source){return source.subscribe(new FinallySubscriber(subscriber,this.callback))},FinallyOperator}(),FinallySubscriber=function(_super){function FinallySubscriber(destination,callback){_super.call(this,destination),this.add(new Subscription_1.Subscription(callback))}return __extends(FinallySubscriber,_super),FinallySubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function findIndex(predicate,thisArg){return this.lift(new find_1.FindValueOperator(predicate,this,(!0),thisArg))}var find_1=__webpack_require__(79);exports.findIndex=findIndex},function(module,exports,__webpack_require__){"use strict";function first(predicate,resultSelector,defaultValue){return this.lift(new FirstOperator(predicate,resultSelector,defaultValue,this))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),EmptyError_1=__webpack_require__(35);exports.first=first;var FirstOperator=function(){function FirstOperator(predicate,resultSelector,defaultValue,source){this.predicate=predicate,this.resultSelector=resultSelector,this.defaultValue=defaultValue,this.source=source}return FirstOperator.prototype.call=function(observer,source){
+return source.subscribe(new FirstSubscriber(observer,this.predicate,this.resultSelector,this.defaultValue,this.source))},FirstOperator}(),FirstSubscriber=function(_super){function FirstSubscriber(destination,predicate,resultSelector,defaultValue,source){_super.call(this,destination),this.predicate=predicate,this.resultSelector=resultSelector,this.defaultValue=defaultValue,this.source=source,this.index=0,this.hasCompleted=!1,this._emitted=!1}return __extends(FirstSubscriber,_super),FirstSubscriber.prototype._next=function(value){var index=this.index++;this.predicate?this._tryPredicate(value,index):this._emit(value,index)},FirstSubscriber.prototype._tryPredicate=function(value,index){var result;try{result=this.predicate(value,index,this.source)}catch(err){return void this.destination.error(err)}result&&this._emit(value,index)},FirstSubscriber.prototype._emit=function(value,index){return this.resultSelector?void this._tryResultSelector(value,index):void this._emitFinal(value)},FirstSubscriber.prototype._tryResultSelector=function(value,index){var result;try{result=this.resultSelector(value,index)}catch(err){return void this.destination.error(err)}this._emitFinal(result)},FirstSubscriber.prototype._emitFinal=function(value){var destination=this.destination;this._emitted||(this._emitted=!0,destination.next(value),destination.complete(),this.hasCompleted=!0)},FirstSubscriber.prototype._complete=function(){var destination=this.destination;this.hasCompleted||"undefined"==typeof this.defaultValue?this.hasCompleted||destination.error(new EmptyError_1.EmptyError):(destination.next(this.defaultValue),destination.complete())},FirstSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function groupBy(keySelector,elementSelector,durationSelector,subjectSelector){return this.lift(new GroupByOperator(keySelector,elementSelector,durationSelector,subjectSelector))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),Subscription_1=__webpack_require__(5),Observable_1=__webpack_require__(0),Subject_1=__webpack_require__(6),Map_1=__webpack_require__(419),FastMap_1=__webpack_require__(417);exports.groupBy=groupBy;var GroupByOperator=function(){function GroupByOperator(keySelector,elementSelector,durationSelector,subjectSelector){this.keySelector=keySelector,this.elementSelector=elementSelector,this.durationSelector=durationSelector,this.subjectSelector=subjectSelector}return GroupByOperator.prototype.call=function(subscriber,source){return source.subscribe(new GroupBySubscriber(subscriber,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))},GroupByOperator}(),GroupBySubscriber=function(_super){function GroupBySubscriber(destination,keySelector,elementSelector,durationSelector,subjectSelector){_super.call(this,destination),this.keySelector=keySelector,this.elementSelector=elementSelector,this.durationSelector=durationSelector,this.subjectSelector=subjectSelector,this.groups=null,this.attemptedToUnsubscribe=!1,this.count=0}return __extends(GroupBySubscriber,_super),GroupBySubscriber.prototype._next=function(value){var key;try{key=this.keySelector(value)}catch(err){return void this.error(err)}this._group(value,key)},GroupBySubscriber.prototype._group=function(value,key){var groups=this.groups;groups||(groups=this.groups="string"==typeof key?new FastMap_1.FastMap:new Map_1.Map);var element,group=groups.get(key);if(this.elementSelector)try{element=this.elementSelector(value)}catch(err){this.error(err)}else element=value;if(!group){group=this.subjectSelector?this.subjectSelector():new Subject_1.Subject,groups.set(key,group);var groupedObservable=new GroupedObservable(key,group,this);if(this.destination.next(groupedObservable),this.durationSelector){var duration=void 0;try{duration=this.durationSelector(new GroupedObservable(key,group))}catch(err){return void this.error(err)}this.add(duration.subscribe(new GroupDurationSubscriber(key,group,this)))}}group.closed||group.next(element)},GroupBySubscriber.prototype._error=function(err){var groups=this.groups;groups&&(groups.forEach(function(group,key){group.error(err)}),groups.clear()),this.destination.error(err)},GroupBySubscriber.prototype._complete=function(){var groups=this.groups;groups&&(groups.forEach(function(group,key){group.complete()}),groups.clear()),this.destination.complete()},GroupBySubscriber.prototype.removeGroup=function(key){this.groups["delete"](key)},GroupBySubscriber.prototype.unsubscribe=function(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&_super.prototype.unsubscribe.call(this))},GroupBySubscriber}(Subscriber_1.Subscriber),GroupDurationSubscriber=function(_super){function GroupDurationSubscriber(key,group,parent){_super.call(this),this.key=key,this.group=group,this.parent=parent}return __extends(GroupDurationSubscriber,_super),GroupDurationSubscriber.prototype._next=function(value){this._complete()},GroupDurationSubscriber.prototype._error=function(err){var group=this.group;group.closed||group.error(err),this.parent.removeGroup(this.key)},GroupDurationSubscriber.prototype._complete=function(){var group=this.group;group.closed||group.complete(),this.parent.removeGroup(this.key)},GroupDurationSubscriber}(Subscriber_1.Subscriber),GroupedObservable=function(_super){function GroupedObservable(key,groupSubject,refCountSubscription){_super.call(this),this.key=key,this.groupSubject=groupSubject,this.refCountSubscription=refCountSubscription}return __extends(GroupedObservable,_super),GroupedObservable.prototype._subscribe=function(subscriber){var subscription=new Subscription_1.Subscription,_a=this,refCountSubscription=_a.refCountSubscription,groupSubject=_a.groupSubject;return refCountSubscription&&!refCountSubscription.closed&&subscription.add(new InnerRefCountSubscription(refCountSubscription)),subscription.add(groupSubject.subscribe(subscriber)),subscription},GroupedObservable}(Observable_1.Observable);exports.GroupedObservable=GroupedObservable;var InnerRefCountSubscription=function(_super){function InnerRefCountSubscription(parent){_super.call(this),this.parent=parent,parent.count++}return __extends(InnerRefCountSubscription,_super),InnerRefCountSubscription.prototype.unsubscribe=function(){var parent=this.parent;parent.closed||this.closed||(_super.prototype.unsubscribe.call(this),parent.count-=1,0===parent.count&&parent.attemptedToUnsubscribe&&parent.unsubscribe())},InnerRefCountSubscription}(Subscription_1.Subscription)},function(module,exports,__webpack_require__){"use strict";function ignoreElements(){return this.lift(new IgnoreElementsOperator)}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),noop_1=__webpack_require__(98);exports.ignoreElements=ignoreElements;var IgnoreElementsOperator=function(){function IgnoreElementsOperator(){}return IgnoreElementsOperator.prototype.call=function(subscriber,source){return source.subscribe(new IgnoreElementsSubscriber(subscriber))},IgnoreElementsOperator}(),IgnoreElementsSubscriber=function(_super){function IgnoreElementsSubscriber(){_super.apply(this,arguments)}return __extends(IgnoreElementsSubscriber,_super),IgnoreElementsSubscriber.prototype._next=function(unused){noop_1.noop()},IgnoreElementsSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function isEmpty(){return this.lift(new IsEmptyOperator)}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports.isEmpty=isEmpty;var IsEmptyOperator=function(){function IsEmptyOperator(){}return IsEmptyOperator.prototype.call=function(observer,source){return source.subscribe(new IsEmptySubscriber(observer))},IsEmptyOperator}(),IsEmptySubscriber=function(_super){function IsEmptySubscriber(destination){_super.call(this,destination)}return __extends(IsEmptySubscriber,_super),IsEmptySubscriber.prototype.notifyComplete=function(isEmpty){var destination=this.destination;destination.next(isEmpty),destination.complete()},IsEmptySubscriber.prototype._next=function(value){this.notifyComplete(!1)},IsEmptySubscriber.prototype._complete=function(){this.notifyComplete(!0)},IsEmptySubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function last(predicate,resultSelector,defaultValue){return this.lift(new LastOperator(predicate,resultSelector,defaultValue,this))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),EmptyError_1=__webpack_require__(35);exports.last=last;var LastOperator=function(){function LastOperator(predicate,resultSelector,defaultValue,source){this.predicate=predicate,this.resultSelector=resultSelector,this.defaultValue=defaultValue,this.source=source}return LastOperator.prototype.call=function(observer,source){return source.subscribe(new LastSubscriber(observer,this.predicate,this.resultSelector,this.defaultValue,this.source))},LastOperator}(),LastSubscriber=function(_super){function LastSubscriber(destination,predicate,resultSelector,defaultValue,source){_super.call(this,destination),this.predicate=predicate,this.resultSelector=resultSelector,this.defaultValue=defaultValue,this.source=source,this.hasValue=!1,this.index=0,"undefined"!=typeof defaultValue&&(this.lastValue=defaultValue,this.hasValue=!0)}return __extends(LastSubscriber,_super),LastSubscriber.prototype._next=function(value){var index=this.index++;if(this.predicate)this._tryPredicate(value,index);else{if(this.resultSelector)return void this._tryResultSelector(value,index);this.lastValue=value,this.hasValue=!0}},LastSubscriber.prototype._tryPredicate=function(value,index){var result;try{result=this.predicate(value,index,this.source)}catch(err){return void this.destination.error(err)}if(result){if(this.resultSelector)return void this._tryResultSelector(value,index);this.lastValue=value,this.hasValue=!0}},LastSubscriber.prototype._tryResultSelector=function(value,index){var result;try{result=this.resultSelector(value,index)}catch(err){return void this.destination.error(err)}this.lastValue=result,this.hasValue=!0},LastSubscriber.prototype._complete=function(){var destination=this.destination;this.hasValue?(destination.next(this.lastValue),destination.complete()):destination.error(new EmptyError_1.EmptyError)},LastSubscriber}(Subscriber_1.Subscriber)},function(module,exports){"use strict";function letProto(func){return func(this)}exports.letProto=letProto},function(module,exports,__webpack_require__){"use strict";function mapTo(value){return this.lift(new MapToOperator(value))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports.mapTo=mapTo;var MapToOperator=function(){function MapToOperator(value){this.value=value}return MapToOperator.prototype.call=function(subscriber,source){return source.subscribe(new MapToSubscriber(subscriber,this.value))},MapToOperator}(),MapToSubscriber=function(_super){function MapToSubscriber(destination,value){_super.call(this,destination),this.value=value}return __extends(MapToSubscriber,_super),MapToSubscriber.prototype._next=function(x){this.destination.next(this.value)},MapToSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function materialize(){return this.lift(new MaterializeOperator)}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),Notification_1=__webpack_require__(22);exports.materialize=materialize;var MaterializeOperator=function(){function MaterializeOperator(){}return MaterializeOperator.prototype.call=function(subscriber,source){return source.subscribe(new MaterializeSubscriber(subscriber))},MaterializeOperator}(),MaterializeSubscriber=function(_super){function MaterializeSubscriber(destination){_super.call(this,destination)}return __extends(MaterializeSubscriber,_super),MaterializeSubscriber.prototype._next=function(value){this.destination.next(Notification_1.Notification.createNext(value))},MaterializeSubscriber.prototype._error=function(err){var destination=this.destination;destination.next(Notification_1.Notification.createError(err)),destination.complete()},MaterializeSubscriber.prototype._complete=function(){var destination=this.destination;destination.next(Notification_1.Notification.createComplete()),destination.complete()},MaterializeSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function max(comparer){var max="function"==typeof comparer?function(x,y){return comparer(x,y)>0?x:y}:function(x,y){return x>y?x:y};return this.lift(new reduce_1.ReduceOperator(max))}var reduce_1=__webpack_require__(56);exports.max=max},function(module,exports,__webpack_require__){"use strict";function mergeScan(accumulator,seed,concurrent){return void 0===concurrent&&(concurrent=Number.POSITIVE_INFINITY),this.lift(new MergeScanOperator(accumulator,seed,concurrent))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},tryCatch_1=__webpack_require__(9),errorObject_1=__webpack_require__(7),subscribeToResult_1=__webpack_require__(3),OuterSubscriber_1=__webpack_require__(2);exports.mergeScan=mergeScan;var MergeScanOperator=function(){function MergeScanOperator(accumulator,seed,concurrent){this.accumulator=accumulator,this.seed=seed,this.concurrent=concurrent}return MergeScanOperator.prototype.call=function(subscriber,source){return source.subscribe(new MergeScanSubscriber(subscriber,this.accumulator,this.seed,this.concurrent))},MergeScanOperator}();exports.MergeScanOperator=MergeScanOperator;var MergeScanSubscriber=function(_super){function MergeScanSubscriber(destination,accumulator,acc,concurrent){_super.call(this,destination),this.accumulator=accumulator,this.acc=acc,this.concurrent=concurrent,this.hasValue=!1,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return __extends(MergeScanSubscriber,_super),MergeScanSubscriber.prototype._next=function(value){if(this.active<this.concurrent){var index=this.index++,ish=tryCatch_1.tryCatch(this.accumulator)(this.acc,value),destination=this.destination;ish===errorObject_1.errorObject?destination.error(errorObject_1.errorObject.e):(this.active++,this._innerSub(ish,value,index))}else this.buffer.push(value)},MergeScanSubscriber.prototype._innerSub=function(ish,value,index){this.add(subscribeToResult_1.subscribeToResult(this,ish,value,index))},MergeScanSubscriber.prototype._complete=function(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&(this.hasValue===!1&&this.destination.next(this.acc),this.destination.complete())},MergeScanSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){var destination=this.destination;this.acc=innerValue,this.hasValue=!0,destination.next(innerValue)},MergeScanSubscriber.prototype.notifyComplete=function(innerSub){var buffer=this.buffer;this.remove(innerSub),this.active--,buffer.length>0?this._next(buffer.shift()):0===this.active&&this.hasCompleted&&(this.hasValue===!1&&this.destination.next(this.acc),this.destination.complete())},MergeScanSubscriber}(OuterSubscriber_1.OuterSubscriber);exports.MergeScanSubscriber=MergeScanSubscriber},function(module,exports,__webpack_require__){"use strict";function min(comparer){var min="function"==typeof comparer?function(x,y){return comparer(x,y)<0?x:y}:function(x,y){return x<y?x:y};return this.lift(new reduce_1.ReduceOperator(min))}var reduce_1=__webpack_require__(56);exports.min=min},function(module,exports,__webpack_require__){"use strict";function pairwise(){return this.lift(new PairwiseOperator)}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports.pairwise=pairwise;var PairwiseOperator=function(){function PairwiseOperator(){}return PairwiseOperator.prototype.call=function(subscriber,source){return source.subscribe(new PairwiseSubscriber(subscriber))},PairwiseOperator}(),PairwiseSubscriber=function(_super){function PairwiseSubscriber(destination){_super.call(this,destination),this.hasPrev=!1}return __extends(PairwiseSubscriber,_super),PairwiseSubscriber.prototype._next=function(value){this.hasPrev?this.destination.next([this.prev,value]):this.hasPrev=!0,this.prev=value},PairwiseSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function partition(predicate,thisArg){return[filter_1.filter.call(this,predicate,thisArg),filter_1.filter.call(this,not_1.not(predicate,thisArg))]}var not_1=__webpack_require__(423),filter_1=__webpack_require__(78);exports.partition=partition},function(module,exports,__webpack_require__){"use strict";function pluck(){for(var properties=[],_i=0;_i<arguments.length;_i++)properties[_i-0]=arguments[_i];var length=properties.length;if(0===length)throw new Error("list of properties cannot be empty.");return map_1.map.call(this,plucker(properties,length))}function plucker(props,length){var mapper=function(x){for(var currentProp=x,i=0;i<length;i++){var p=currentProp[props[i]];if("undefined"==typeof p)return;currentProp=p}return currentProp};return mapper}var map_1=__webpack_require__(54);exports.pluck=pluck},function(module,exports,__webpack_require__){"use strict";function publish(selector){return selector?multicast_1.multicast.call(this,function(){return new Subject_1.Subject},selector):multicast_1.multicast.call(this,new Subject_1.Subject)}var Subject_1=__webpack_require__(6),multicast_1=__webpack_require__(20);exports.publish=publish},function(module,exports,__webpack_require__){"use strict";function publishBehavior(value){return multicast_1.multicast.call(this,new BehaviorSubject_1.BehaviorSubject(value))}var BehaviorSubject_1=__webpack_require__(70),multicast_1=__webpack_require__(20);exports.publishBehavior=publishBehavior},function(module,exports,__webpack_require__){"use strict";function publishLast(){return multicast_1.multicast.call(this,new AsyncSubject_1.AsyncSubject)}var AsyncSubject_1=__webpack_require__(30),multicast_1=__webpack_require__(20);exports.publishLast=publishLast},function(module,exports,__webpack_require__){"use strict";function publishReplay(bufferSize,windowTime,scheduler){return void 0===bufferSize&&(bufferSize=Number.POSITIVE_INFINITY),void 0===windowTime&&(windowTime=Number.POSITIVE_INFINITY),multicast_1.multicast.call(this,new ReplaySubject_1.ReplaySubject(bufferSize,windowTime,scheduler))}var ReplaySubject_1=__webpack_require__(50),multicast_1=__webpack_require__(20);exports.publishReplay=publishReplay},function(module,exports,__webpack_require__){"use strict";function repeat(count){return void 0===count&&(count=-1),0===count?new EmptyObservable_1.EmptyObservable:count<0?this.lift(new RepeatOperator((-1),this)):this.lift(new RepeatOperator(count-1,this))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),EmptyObservable_1=__webpack_require__(17);exports.repeat=repeat;var RepeatOperator=function(){function RepeatOperator(count,source){this.count=count,this.source=source}return RepeatOperator.prototype.call=function(subscriber,source){return source.subscribe(new RepeatSubscriber(subscriber,this.count,this.source))},RepeatOperator}(),RepeatSubscriber=function(_super){function RepeatSubscriber(destination,count,source){_super.call(this,destination),this.count=count,this.source=source}return __extends(RepeatSubscriber,_super),RepeatSubscriber.prototype.complete=function(){if(!this.isStopped){var _a=this,source=_a.source,count=_a.count;if(0===count)return _super.prototype.complete.call(this);count>-1&&(this.count=count-1),source.subscribe(this._unsubscribeAndRecycle())}},RepeatSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function repeatWhen(notifier){return this.lift(new RepeatWhenOperator(notifier))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subject_1=__webpack_require__(6),tryCatch_1=__webpack_require__(9),errorObject_1=__webpack_require__(7),OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.repeatWhen=repeatWhen;var RepeatWhenOperator=function(){function RepeatWhenOperator(notifier){this.notifier=notifier}return RepeatWhenOperator.prototype.call=function(subscriber,source){return source.subscribe(new RepeatWhenSubscriber(subscriber,this.notifier,source))},RepeatWhenOperator}(),RepeatWhenSubscriber=function(_super){function RepeatWhenSubscriber(destination,notifier,source){_super.call(this,destination),this.notifier=notifier,this.source=source,this.sourceIsBeingSubscribedTo=!0}return __extends(RepeatWhenSubscriber,_super),RepeatWhenSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this.sourceIsBeingSubscribedTo=!0,this.source.subscribe(this)},RepeatWhenSubscriber.prototype.notifyComplete=function(innerSub){if(this.sourceIsBeingSubscribedTo===!1)return _super.prototype.complete.call(this)},RepeatWhenSubscriber.prototype.complete=function(){if(this.sourceIsBeingSubscribedTo=!1,!this.isStopped){if(this.retries){if(this.retriesSubscription.closed)return _super.prototype.complete.call(this)}else this.subscribeToRetries();this._unsubscribeAndRecycle(),this.notifications.next()}},RepeatWhenSubscriber.prototype._unsubscribe=function(){var _a=this,notifications=_a.notifications,retriesSubscription=_a.retriesSubscription;notifications&&(notifications.unsubscribe(),this.notifications=null),retriesSubscription&&(retriesSubscription.unsubscribe(),this.retriesSubscription=null),this.retries=null},RepeatWhenSubscriber.prototype._unsubscribeAndRecycle=function(){var _a=this,notifications=_a.notifications,retries=_a.retries,retriesSubscription=_a.retriesSubscription;return this.notifications=null,this.retries=null,this.retriesSubscription=null,_super.prototype._unsubscribeAndRecycle.call(this),this.notifications=notifications,this.retries=retries,this.retriesSubscription=retriesSubscription,this},RepeatWhenSubscriber.prototype.subscribeToRetries=function(){this.notifications=new Subject_1.Subject;var retries=tryCatch_1.tryCatch(this.notifier)(this.notifications);return retries===errorObject_1.errorObject?_super.prototype.complete.call(this):(this.retries=retries,void(this.retriesSubscription=subscribeToResult_1.subscribeToResult(this,retries)))},RepeatWhenSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function retry(count){return void 0===count&&(count=-1),this.lift(new RetryOperator(count,this))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports.retry=retry;var RetryOperator=function(){function RetryOperator(count,source){this.count=count,this.source=source}return RetryOperator.prototype.call=function(subscriber,source){return source.subscribe(new RetrySubscriber(subscriber,this.count,this.source))},RetryOperator}(),RetrySubscriber=function(_super){function RetrySubscriber(destination,count,source){_super.call(this,destination),this.count=count,this.source=source}return __extends(RetrySubscriber,_super),RetrySubscriber.prototype.error=function(err){if(!this.isStopped){var _a=this,source=_a.source,count=_a.count;if(0===count)return _super.prototype.error.call(this,err);count>-1&&(this.count=count-1),source.subscribe(this._unsubscribeAndRecycle())}},RetrySubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function retryWhen(notifier){return this.lift(new RetryWhenOperator(notifier,this))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subject_1=__webpack_require__(6),tryCatch_1=__webpack_require__(9),errorObject_1=__webpack_require__(7),OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.retryWhen=retryWhen;var RetryWhenOperator=function(){function RetryWhenOperator(notifier,source){this.notifier=notifier,this.source=source}return RetryWhenOperator.prototype.call=function(subscriber,source){return source.subscribe(new RetryWhenSubscriber(subscriber,this.notifier,this.source))},RetryWhenOperator}(),RetryWhenSubscriber=function(_super){function RetryWhenSubscriber(destination,notifier,source){_super.call(this,destination),this.notifier=notifier,this.source=source}return __extends(RetryWhenSubscriber,_super),RetryWhenSubscriber.prototype.error=function(err){if(!this.isStopped){var errors=this.errors,retries=this.retries,retriesSubscription=this.retriesSubscription;if(retries)this.errors=null,this.retriesSubscription=null;else{if(errors=new Subject_1.Subject,retries=tryCatch_1.tryCatch(this.notifier)(errors),retries===errorObject_1.errorObject)return _super.prototype.error.call(this,errorObject_1.errorObject.e);retriesSubscription=subscribeToResult_1.subscribeToResult(this,retries)}this._unsubscribeAndRecycle(),this.errors=errors,this.retries=retries,this.retriesSubscription=retriesSubscription,errors.next(err)}},RetryWhenSubscriber.prototype._unsubscribe=function(){var _a=this,errors=_a.errors,retriesSubscription=_a.retriesSubscription;errors&&(errors.unsubscribe(),this.errors=null),retriesSubscription&&(retriesSubscription.unsubscribe(),this.retriesSubscription=null),this.retries=null},RetryWhenSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){var _a=this,errors=_a.errors,retries=_a.retries,retriesSubscription=_a.retriesSubscription;this.errors=null,this.retries=null,this.retriesSubscription=null,this._unsubscribeAndRecycle(),this.errors=errors,this.retries=retries,this.retriesSubscription=retriesSubscription,this.source.subscribe(this)},RetryWhenSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function sample(notifier){return this.lift(new SampleOperator(notifier))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.sample=sample;var SampleOperator=function(){function SampleOperator(notifier){this.notifier=notifier}return SampleOperator.prototype.call=function(subscriber,source){var sampleSubscriber=new SampleSubscriber(subscriber),subscription=source.subscribe(sampleSubscriber);return subscription.add(subscribeToResult_1.subscribeToResult(sampleSubscriber,this.notifier)),subscription},SampleOperator}(),SampleSubscriber=function(_super){function SampleSubscriber(){_super.apply(this,arguments),this.hasValue=!1}return __extends(SampleSubscriber,_super),SampleSubscriber.prototype._next=function(value){this.value=value,this.hasValue=!0},SampleSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this.emitValue()},SampleSubscriber.prototype.notifyComplete=function(){this.emitValue()},SampleSubscriber.prototype.emitValue=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))},SampleSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function sampleTime(period,scheduler){return void 0===scheduler&&(scheduler=async_1.async),this.lift(new SampleTimeOperator(period,scheduler))}function dispatchNotification(state){var subscriber=state.subscriber,period=state.period;subscriber.notifyNext(),this.schedule(state,period)}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),async_1=__webpack_require__(10);exports.sampleTime=sampleTime;var SampleTimeOperator=function(){function SampleTimeOperator(period,scheduler){this.period=period,this.scheduler=scheduler}return SampleTimeOperator.prototype.call=function(subscriber,source){return source.subscribe(new SampleTimeSubscriber(subscriber,this.period,this.scheduler))},SampleTimeOperator}(),SampleTimeSubscriber=function(_super){function SampleTimeSubscriber(destination,period,scheduler){_super.call(this,destination),this.period=period,this.scheduler=scheduler,this.hasValue=!1,this.add(scheduler.schedule(dispatchNotification,period,{subscriber:this,period:period}))}return __extends(SampleTimeSubscriber,_super),SampleTimeSubscriber.prototype._next=function(value){this.lastValue=value,this.hasValue=!0},SampleTimeSubscriber.prototype.notifyNext=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))},SampleTimeSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function scan(accumulator,seed){var hasSeed=!1;return arguments.length>=2&&(hasSeed=!0),this.lift(new ScanOperator(accumulator,seed,hasSeed))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports.scan=scan;var ScanOperator=function(){function ScanOperator(accumulator,seed,hasSeed){void 0===hasSeed&&(hasSeed=!1),this.accumulator=accumulator,this.seed=seed,this.hasSeed=hasSeed}return ScanOperator.prototype.call=function(subscriber,source){return source.subscribe(new ScanSubscriber(subscriber,this.accumulator,this.seed,this.hasSeed))},ScanOperator}(),ScanSubscriber=function(_super){function ScanSubscriber(destination,accumulator,_seed,hasSeed){_super.call(this,destination),this.accumulator=accumulator,this._seed=_seed,this.hasSeed=hasSeed,this.index=0}return __extends(ScanSubscriber,_super),Object.defineProperty(ScanSubscriber.prototype,"seed",{get:function(){return this._seed},set:function(value){this.hasSeed=!0,this._seed=value},enumerable:!0,configurable:!0}),ScanSubscriber.prototype._next=function(value){return this.hasSeed?this._tryNext(value):(this.seed=value,void this.destination.next(value))},ScanSubscriber.prototype._tryNext=function(value){var result,index=this.index++;try{result=this.accumulator(this.seed,value,index)}catch(err){this.destination.error(err)}this.seed=result,this.destination.next(result)},ScanSubscriber}(Subscriber_1.Subscriber);
+},function(module,exports,__webpack_require__){"use strict";function sequenceEqual(compareTo,comparor){return this.lift(new SequenceEqualOperator(compareTo,comparor))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),tryCatch_1=__webpack_require__(9),errorObject_1=__webpack_require__(7);exports.sequenceEqual=sequenceEqual;var SequenceEqualOperator=function(){function SequenceEqualOperator(compareTo,comparor){this.compareTo=compareTo,this.comparor=comparor}return SequenceEqualOperator.prototype.call=function(subscriber,source){return source.subscribe(new SequenceEqualSubscriber(subscriber,this.compareTo,this.comparor))},SequenceEqualOperator}();exports.SequenceEqualOperator=SequenceEqualOperator;var SequenceEqualSubscriber=function(_super){function SequenceEqualSubscriber(destination,compareTo,comparor){_super.call(this,destination),this.compareTo=compareTo,this.comparor=comparor,this._a=[],this._b=[],this._oneComplete=!1,this.add(compareTo.subscribe(new SequenceEqualCompareToSubscriber(destination,this)))}return __extends(SequenceEqualSubscriber,_super),SequenceEqualSubscriber.prototype._next=function(value){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(value),this.checkValues())},SequenceEqualSubscriber.prototype._complete=function(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0},SequenceEqualSubscriber.prototype.checkValues=function(){for(var _c=this,_a=_c._a,_b=_c._b,comparor=_c.comparor;_a.length>0&&_b.length>0;){var a=_a.shift(),b=_b.shift(),areEqual=!1;comparor?(areEqual=tryCatch_1.tryCatch(comparor)(a,b),areEqual===errorObject_1.errorObject&&this.destination.error(errorObject_1.errorObject.e)):areEqual=a===b,areEqual||this.emit(!1)}},SequenceEqualSubscriber.prototype.emit=function(value){var destination=this.destination;destination.next(value),destination.complete()},SequenceEqualSubscriber.prototype.nextB=function(value){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(value),this.checkValues())},SequenceEqualSubscriber}(Subscriber_1.Subscriber);exports.SequenceEqualSubscriber=SequenceEqualSubscriber;var SequenceEqualCompareToSubscriber=function(_super){function SequenceEqualCompareToSubscriber(destination,parent){_super.call(this,destination),this.parent=parent}return __extends(SequenceEqualCompareToSubscriber,_super),SequenceEqualCompareToSubscriber.prototype._next=function(value){this.parent.nextB(value)},SequenceEqualCompareToSubscriber.prototype._error=function(err){this.parent.error(err)},SequenceEqualCompareToSubscriber.prototype._complete=function(){this.parent._complete()},SequenceEqualCompareToSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function shareSubjectFactory(){return new Subject_1.Subject}function share(){return multicast_1.multicast.call(this,shareSubjectFactory).refCount()}var multicast_1=__webpack_require__(20),Subject_1=__webpack_require__(6);exports.share=share},function(module,exports,__webpack_require__){"use strict";function single(predicate){return this.lift(new SingleOperator(predicate,this))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),EmptyError_1=__webpack_require__(35);exports.single=single;var SingleOperator=function(){function SingleOperator(predicate,source){this.predicate=predicate,this.source=source}return SingleOperator.prototype.call=function(subscriber,source){return source.subscribe(new SingleSubscriber(subscriber,this.predicate,this.source))},SingleOperator}(),SingleSubscriber=function(_super){function SingleSubscriber(destination,predicate,source){_super.call(this,destination),this.predicate=predicate,this.source=source,this.seenValue=!1,this.index=0}return __extends(SingleSubscriber,_super),SingleSubscriber.prototype.applySingleValue=function(value){this.seenValue?this.destination.error("Sequence contains more than one element"):(this.seenValue=!0,this.singleValue=value)},SingleSubscriber.prototype._next=function(value){var index=this.index++;this.predicate?this.tryNext(value,index):this.applySingleValue(value)},SingleSubscriber.prototype.tryNext=function(value,index){try{this.predicate(value,index,this.source)&&this.applySingleValue(value)}catch(err){this.destination.error(err)}},SingleSubscriber.prototype._complete=function(){var destination=this.destination;this.index>0?(destination.next(this.seenValue?this.singleValue:void 0),destination.complete()):destination.error(new EmptyError_1.EmptyError)},SingleSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function skip(count){return this.lift(new SkipOperator(count))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports.skip=skip;var SkipOperator=function(){function SkipOperator(total){this.total=total}return SkipOperator.prototype.call=function(subscriber,source){return source.subscribe(new SkipSubscriber(subscriber,this.total))},SkipOperator}(),SkipSubscriber=function(_super){function SkipSubscriber(destination,total){_super.call(this,destination),this.total=total,this.count=0}return __extends(SkipSubscriber,_super),SkipSubscriber.prototype._next=function(x){++this.count>this.total&&this.destination.next(x)},SkipSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function skipUntil(notifier){return this.lift(new SkipUntilOperator(notifier))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.skipUntil=skipUntil;var SkipUntilOperator=function(){function SkipUntilOperator(notifier){this.notifier=notifier}return SkipUntilOperator.prototype.call=function(subscriber,source){return source.subscribe(new SkipUntilSubscriber(subscriber,this.notifier))},SkipUntilOperator}(),SkipUntilSubscriber=function(_super){function SkipUntilSubscriber(destination,notifier){_super.call(this,destination),this.hasValue=!1,this.isInnerStopped=!1,this.add(subscribeToResult_1.subscribeToResult(this,notifier))}return __extends(SkipUntilSubscriber,_super),SkipUntilSubscriber.prototype._next=function(value){this.hasValue&&_super.prototype._next.call(this,value)},SkipUntilSubscriber.prototype._complete=function(){this.isInnerStopped?_super.prototype._complete.call(this):this.unsubscribe()},SkipUntilSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this.hasValue=!0},SkipUntilSubscriber.prototype.notifyComplete=function(){this.isInnerStopped=!0,this.isStopped&&_super.prototype._complete.call(this)},SkipUntilSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function skipWhile(predicate){return this.lift(new SkipWhileOperator(predicate))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports.skipWhile=skipWhile;var SkipWhileOperator=function(){function SkipWhileOperator(predicate){this.predicate=predicate}return SkipWhileOperator.prototype.call=function(subscriber,source){return source.subscribe(new SkipWhileSubscriber(subscriber,this.predicate))},SkipWhileOperator}(),SkipWhileSubscriber=function(_super){function SkipWhileSubscriber(destination,predicate){_super.call(this,destination),this.predicate=predicate,this.skipping=!0,this.index=0}return __extends(SkipWhileSubscriber,_super),SkipWhileSubscriber.prototype._next=function(value){var destination=this.destination;this.skipping&&this.tryCallPredicate(value),this.skipping||destination.next(value)},SkipWhileSubscriber.prototype.tryCallPredicate=function(value){try{var result=this.predicate(value,this.index++);this.skipping=Boolean(result)}catch(err){this.destination.error(err)}},SkipWhileSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function startWith(){for(var array=[],_i=0;_i<arguments.length;_i++)array[_i-0]=arguments[_i];var scheduler=array[array.length-1];isScheduler_1.isScheduler(scheduler)?array.pop():scheduler=null;var len=array.length;return 1===len?concat_1.concatStatic(new ScalarObservable_1.ScalarObservable(array[0],scheduler),this):len>1?concat_1.concatStatic(new ArrayObservable_1.ArrayObservable(array,scheduler),this):concat_1.concatStatic(new EmptyObservable_1.EmptyObservable(scheduler),this)}var ArrayObservable_1=__webpack_require__(13),ScalarObservable_1=__webpack_require__(51),EmptyObservable_1=__webpack_require__(17),concat_1=__webpack_require__(53),isScheduler_1=__webpack_require__(15);exports.startWith=startWith},function(module,exports,__webpack_require__){"use strict";function subscribeOn(scheduler,delay){return void 0===delay&&(delay=0),this.lift(new SubscribeOnOperator(scheduler,delay))}var SubscribeOnObservable_1=__webpack_require__(295);exports.subscribeOn=subscribeOn;var SubscribeOnOperator=function(){function SubscribeOnOperator(scheduler,delay){this.scheduler=scheduler,this.delay=delay}return SubscribeOnOperator.prototype.call=function(subscriber,source){return new SubscribeOnObservable_1.SubscribeOnObservable(source,this.delay,this.scheduler).subscribe(subscriber)},SubscribeOnOperator}()},function(module,exports,__webpack_require__){"use strict";function _switch(){return this.lift(new SwitchOperator)}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports._switch=_switch;var SwitchOperator=function(){function SwitchOperator(){}return SwitchOperator.prototype.call=function(subscriber,source){return source.subscribe(new SwitchSubscriber(subscriber))},SwitchOperator}(),SwitchSubscriber=function(_super){function SwitchSubscriber(destination){_super.call(this,destination),this.active=0,this.hasCompleted=!1}return __extends(SwitchSubscriber,_super),SwitchSubscriber.prototype._next=function(value){this.unsubscribeInner(),this.active++,this.add(this.innerSubscription=subscribeToResult_1.subscribeToResult(this,value))},SwitchSubscriber.prototype._complete=function(){this.hasCompleted=!0,0===this.active&&this.destination.complete()},SwitchSubscriber.prototype.unsubscribeInner=function(){this.active=this.active>0?this.active-1:0;var innerSubscription=this.innerSubscription;innerSubscription&&(innerSubscription.unsubscribe(),this.remove(innerSubscription))},SwitchSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this.destination.next(innerValue)},SwitchSubscriber.prototype.notifyError=function(err){this.destination.error(err)},SwitchSubscriber.prototype.notifyComplete=function(){this.unsubscribeInner(),this.hasCompleted&&0===this.active&&this.destination.complete()},SwitchSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function switchMap(project,resultSelector){return this.lift(new SwitchMapOperator(project,resultSelector))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.switchMap=switchMap;var SwitchMapOperator=function(){function SwitchMapOperator(project,resultSelector){this.project=project,this.resultSelector=resultSelector}return SwitchMapOperator.prototype.call=function(subscriber,source){return source.subscribe(new SwitchMapSubscriber(subscriber,this.project,this.resultSelector))},SwitchMapOperator}(),SwitchMapSubscriber=function(_super){function SwitchMapSubscriber(destination,project,resultSelector){_super.call(this,destination),this.project=project,this.resultSelector=resultSelector,this.index=0}return __extends(SwitchMapSubscriber,_super),SwitchMapSubscriber.prototype._next=function(value){var result,index=this.index++;try{result=this.project(value,index)}catch(error){return void this.destination.error(error)}this._innerSub(result,value,index)},SwitchMapSubscriber.prototype._innerSub=function(result,value,index){var innerSubscription=this.innerSubscription;innerSubscription&&innerSubscription.unsubscribe(),this.add(this.innerSubscription=subscribeToResult_1.subscribeToResult(this,result,value,index))},SwitchMapSubscriber.prototype._complete=function(){var innerSubscription=this.innerSubscription;innerSubscription&&!innerSubscription.closed||_super.prototype._complete.call(this)},SwitchMapSubscriber.prototype._unsubscribe=function(){this.innerSubscription=null},SwitchMapSubscriber.prototype.notifyComplete=function(innerSub){this.remove(innerSub),this.innerSubscription=null,this.isStopped&&_super.prototype._complete.call(this)},SwitchMapSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this.resultSelector?this._tryNotifyNext(outerValue,innerValue,outerIndex,innerIndex):this.destination.next(innerValue)},SwitchMapSubscriber.prototype._tryNotifyNext=function(outerValue,innerValue,outerIndex,innerIndex){var result;try{result=this.resultSelector(outerValue,innerValue,outerIndex,innerIndex)}catch(err){return void this.destination.error(err)}this.destination.next(result)},SwitchMapSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function switchMapTo(innerObservable,resultSelector){return this.lift(new SwitchMapToOperator(innerObservable,resultSelector))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.switchMapTo=switchMapTo;var SwitchMapToOperator=function(){function SwitchMapToOperator(observable,resultSelector){this.observable=observable,this.resultSelector=resultSelector}return SwitchMapToOperator.prototype.call=function(subscriber,source){return source.subscribe(new SwitchMapToSubscriber(subscriber,this.observable,this.resultSelector))},SwitchMapToOperator}(),SwitchMapToSubscriber=function(_super){function SwitchMapToSubscriber(destination,inner,resultSelector){_super.call(this,destination),this.inner=inner,this.resultSelector=resultSelector,this.index=0}return __extends(SwitchMapToSubscriber,_super),SwitchMapToSubscriber.prototype._next=function(value){var innerSubscription=this.innerSubscription;innerSubscription&&innerSubscription.unsubscribe(),this.add(this.innerSubscription=subscribeToResult_1.subscribeToResult(this,this.inner,value,this.index++))},SwitchMapToSubscriber.prototype._complete=function(){var innerSubscription=this.innerSubscription;innerSubscription&&!innerSubscription.closed||_super.prototype._complete.call(this)},SwitchMapToSubscriber.prototype._unsubscribe=function(){this.innerSubscription=null},SwitchMapToSubscriber.prototype.notifyComplete=function(innerSub){this.remove(innerSub),this.innerSubscription=null,this.isStopped&&_super.prototype._complete.call(this)},SwitchMapToSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){var _a=this,resultSelector=_a.resultSelector,destination=_a.destination;resultSelector?this.tryResultSelector(outerValue,innerValue,outerIndex,innerIndex):destination.next(innerValue)},SwitchMapToSubscriber.prototype.tryResultSelector=function(outerValue,innerValue,outerIndex,innerIndex){var result,_a=this,resultSelector=_a.resultSelector,destination=_a.destination;try{result=resultSelector(outerValue,innerValue,outerIndex,innerIndex)}catch(err){return void destination.error(err)}destination.next(result)},SwitchMapToSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function take(count){return 0===count?new EmptyObservable_1.EmptyObservable:this.lift(new TakeOperator(count))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),ArgumentOutOfRangeError_1=__webpack_require__(34),EmptyObservable_1=__webpack_require__(17);exports.take=take;var TakeOperator=function(){function TakeOperator(total){if(this.total=total,this.total<0)throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError}return TakeOperator.prototype.call=function(subscriber,source){return source.subscribe(new TakeSubscriber(subscriber,this.total))},TakeOperator}(),TakeSubscriber=function(_super){function TakeSubscriber(destination,total){_super.call(this,destination),this.total=total,this.count=0}return __extends(TakeSubscriber,_super),TakeSubscriber.prototype._next=function(value){var total=this.total,count=++this.count;count<=total&&(this.destination.next(value),count===total&&(this.destination.complete(),this.unsubscribe()))},TakeSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function takeLast(count){return 0===count?new EmptyObservable_1.EmptyObservable:this.lift(new TakeLastOperator(count))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),ArgumentOutOfRangeError_1=__webpack_require__(34),EmptyObservable_1=__webpack_require__(17);exports.takeLast=takeLast;var TakeLastOperator=function(){function TakeLastOperator(total){if(this.total=total,this.total<0)throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError}return TakeLastOperator.prototype.call=function(subscriber,source){return source.subscribe(new TakeLastSubscriber(subscriber,this.total))},TakeLastOperator}(),TakeLastSubscriber=function(_super){function TakeLastSubscriber(destination,total){_super.call(this,destination),this.total=total,this.ring=new Array,this.count=0}return __extends(TakeLastSubscriber,_super),TakeLastSubscriber.prototype._next=function(value){var ring=this.ring,total=this.total,count=this.count++;if(ring.length<total)ring.push(value);else{var index=count%total;ring[index]=value}},TakeLastSubscriber.prototype._complete=function(){var destination=this.destination,count=this.count;if(count>0)for(var total=this.count>=this.total?this.total:this.count,ring=this.ring,i=0;i<total;i++){var idx=count++%total;destination.next(ring[idx])}destination.complete()},TakeLastSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function takeUntil(notifier){return this.lift(new TakeUntilOperator(notifier))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.takeUntil=takeUntil;var TakeUntilOperator=function(){function TakeUntilOperator(notifier){this.notifier=notifier}return TakeUntilOperator.prototype.call=function(subscriber,source){return source.subscribe(new TakeUntilSubscriber(subscriber,this.notifier))},TakeUntilOperator}(),TakeUntilSubscriber=function(_super){function TakeUntilSubscriber(destination,notifier){_super.call(this,destination),this.notifier=notifier,this.add(subscribeToResult_1.subscribeToResult(this,notifier))}return __extends(TakeUntilSubscriber,_super),TakeUntilSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this.complete()},TakeUntilSubscriber.prototype.notifyComplete=function(){},TakeUntilSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function takeWhile(predicate){return this.lift(new TakeWhileOperator(predicate))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports.takeWhile=takeWhile;var TakeWhileOperator=function(){function TakeWhileOperator(predicate){this.predicate=predicate}return TakeWhileOperator.prototype.call=function(subscriber,source){return source.subscribe(new TakeWhileSubscriber(subscriber,this.predicate))},TakeWhileOperator}(),TakeWhileSubscriber=function(_super){function TakeWhileSubscriber(destination,predicate){_super.call(this,destination),this.predicate=predicate,this.index=0}return __extends(TakeWhileSubscriber,_super),TakeWhileSubscriber.prototype._next=function(value){var result,destination=this.destination;try{result=this.predicate(value,this.index++)}catch(err){return void destination.error(err)}this.nextOrComplete(value,result)},TakeWhileSubscriber.prototype.nextOrComplete=function(value,predicateResult){var destination=this.destination;Boolean(predicateResult)?destination.next(value):destination.complete()},TakeWhileSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function throttle(durationSelector){return this.lift(new ThrottleOperator(durationSelector))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.throttle=throttle;var ThrottleOperator=function(){function ThrottleOperator(durationSelector){this.durationSelector=durationSelector}return ThrottleOperator.prototype.call=function(subscriber,source){return source.subscribe(new ThrottleSubscriber(subscriber,this.durationSelector))},ThrottleOperator}(),ThrottleSubscriber=function(_super){function ThrottleSubscriber(destination,durationSelector){_super.call(this,destination),this.destination=destination,this.durationSelector=durationSelector}return __extends(ThrottleSubscriber,_super),ThrottleSubscriber.prototype._next=function(value){this.throttled||this.tryDurationSelector(value)},ThrottleSubscriber.prototype.tryDurationSelector=function(value){var duration=null;try{duration=this.durationSelector(value)}catch(err){return void this.destination.error(err)}this.emitAndThrottle(value,duration)},ThrottleSubscriber.prototype.emitAndThrottle=function(value,duration){this.add(this.throttled=subscribeToResult_1.subscribeToResult(this,duration)),this.destination.next(value)},ThrottleSubscriber.prototype._unsubscribe=function(){var throttled=this.throttled;throttled&&(this.remove(throttled),this.throttled=null,throttled.unsubscribe())},ThrottleSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this._unsubscribe()},ThrottleSubscriber.prototype.notifyComplete=function(){this._unsubscribe()},ThrottleSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function throttleTime(duration,scheduler){return void 0===scheduler&&(scheduler=async_1.async),this.lift(new ThrottleTimeOperator(duration,scheduler))}function dispatchNext(arg){var subscriber=arg.subscriber;subscriber.clearThrottle()}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),async_1=__webpack_require__(10);exports.throttleTime=throttleTime;var ThrottleTimeOperator=function(){function ThrottleTimeOperator(duration,scheduler){this.duration=duration,this.scheduler=scheduler}return ThrottleTimeOperator.prototype.call=function(subscriber,source){return source.subscribe(new ThrottleTimeSubscriber(subscriber,this.duration,this.scheduler))},ThrottleTimeOperator}(),ThrottleTimeSubscriber=function(_super){function ThrottleTimeSubscriber(destination,duration,scheduler){_super.call(this,destination),this.duration=duration,this.scheduler=scheduler}return __extends(ThrottleTimeSubscriber,_super),ThrottleTimeSubscriber.prototype._next=function(value){this.throttled||(this.add(this.throttled=this.scheduler.schedule(dispatchNext,this.duration,{subscriber:this})),this.destination.next(value))},ThrottleTimeSubscriber.prototype.clearThrottle=function(){var throttled=this.throttled;throttled&&(throttled.unsubscribe(),this.remove(throttled),this.throttled=null)},ThrottleTimeSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function timeout(due,scheduler){void 0===scheduler&&(scheduler=async_1.async);var absoluteTimeout=isDate_1.isDate(due),waitFor=absoluteTimeout?+due-scheduler.now():Math.abs(due);return this.lift(new TimeoutOperator(waitFor,absoluteTimeout,scheduler,new TimeoutError_1.TimeoutError))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},async_1=__webpack_require__(10),isDate_1=__webpack_require__(37),Subscriber_1=__webpack_require__(1),TimeoutError_1=__webpack_require__(92);exports.timeout=timeout;var TimeoutOperator=function(){function TimeoutOperator(waitFor,absoluteTimeout,scheduler,errorInstance){this.waitFor=waitFor,this.absoluteTimeout=absoluteTimeout,this.scheduler=scheduler,this.errorInstance=errorInstance}return TimeoutOperator.prototype.call=function(subscriber,source){return source.subscribe(new TimeoutSubscriber(subscriber,this.absoluteTimeout,this.waitFor,this.scheduler,this.errorInstance))},TimeoutOperator}(),TimeoutSubscriber=function(_super){function TimeoutSubscriber(destination,absoluteTimeout,waitFor,scheduler,errorInstance){_super.call(this,destination),this.absoluteTimeout=absoluteTimeout,this.waitFor=waitFor,this.scheduler=scheduler,this.errorInstance=errorInstance,this.index=0,this._previousIndex=0,this._hasCompleted=!1,this.scheduleTimeout()}return __extends(TimeoutSubscriber,_super),Object.defineProperty(TimeoutSubscriber.prototype,"previousIndex",{get:function(){return this._previousIndex},enumerable:!0,configurable:!0}),Object.defineProperty(TimeoutSubscriber.prototype,"hasCompleted",{get:function(){return this._hasCompleted},enumerable:!0,configurable:!0}),TimeoutSubscriber.dispatchTimeout=function(state){var source=state.subscriber,currentIndex=state.index;source.hasCompleted||source.previousIndex!==currentIndex||source.notifyTimeout()},TimeoutSubscriber.prototype.scheduleTimeout=function(){var currentIndex=this.index;this.scheduler.schedule(TimeoutSubscriber.dispatchTimeout,this.waitFor,{subscriber:this,index:currentIndex}),this.index++,this._previousIndex=currentIndex},TimeoutSubscriber.prototype._next=function(value){this.destination.next(value),this.absoluteTimeout||this.scheduleTimeout()},TimeoutSubscriber.prototype._error=function(err){this.destination.error(err),this._hasCompleted=!0},TimeoutSubscriber.prototype._complete=function(){this.destination.complete(),this._hasCompleted=!0},TimeoutSubscriber.prototype.notifyTimeout=function(){this.error(this.errorInstance)},TimeoutSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function timeoutWith(due,withObservable,scheduler){void 0===scheduler&&(scheduler=async_1.async);var absoluteTimeout=isDate_1.isDate(due),waitFor=absoluteTimeout?+due-scheduler.now():Math.abs(due);return this.lift(new TimeoutWithOperator(waitFor,absoluteTimeout,withObservable,scheduler))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},async_1=__webpack_require__(10),isDate_1=__webpack_require__(37),OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.timeoutWith=timeoutWith;var TimeoutWithOperator=function(){function TimeoutWithOperator(waitFor,absoluteTimeout,withObservable,scheduler){this.waitFor=waitFor,this.absoluteTimeout=absoluteTimeout,this.withObservable=withObservable,this.scheduler=scheduler}return TimeoutWithOperator.prototype.call=function(subscriber,source){return source.subscribe(new TimeoutWithSubscriber(subscriber,this.absoluteTimeout,this.waitFor,this.withObservable,this.scheduler))},TimeoutWithOperator}(),TimeoutWithSubscriber=function(_super){function TimeoutWithSubscriber(destination,absoluteTimeout,waitFor,withObservable,scheduler){_super.call(this),this.destination=destination,this.absoluteTimeout=absoluteTimeout,this.waitFor=waitFor,this.withObservable=withObservable,this.scheduler=scheduler,this.timeoutSubscription=void 0,this.index=0,this._previousIndex=0,this._hasCompleted=!1,destination.add(this),this.scheduleTimeout()}return __extends(TimeoutWithSubscriber,_super),Object.defineProperty(TimeoutWithSubscriber.prototype,"previousIndex",{get:function(){return this._previousIndex},enumerable:!0,configurable:!0}),Object.defineProperty(TimeoutWithSubscriber.prototype,"hasCompleted",{get:function(){return this._hasCompleted},enumerable:!0,configurable:!0}),TimeoutWithSubscriber.dispatchTimeout=function(state){var source=state.subscriber,currentIndex=state.index;source.hasCompleted||source.previousIndex!==currentIndex||source.handleTimeout()},TimeoutWithSubscriber.prototype.scheduleTimeout=function(){var currentIndex=this.index,timeoutState={subscriber:this,index:currentIndex};this.scheduler.schedule(TimeoutWithSubscriber.dispatchTimeout,this.waitFor,timeoutState),this.index++,this._previousIndex=currentIndex},TimeoutWithSubscriber.prototype._next=function(value){this.destination.next(value),this.absoluteTimeout||this.scheduleTimeout()},TimeoutWithSubscriber.prototype._error=function(err){this.destination.error(err),this._hasCompleted=!0},TimeoutWithSubscriber.prototype._complete=function(){this.destination.complete(),this._hasCompleted=!0},TimeoutWithSubscriber.prototype.handleTimeout=function(){if(!this.closed){var withObservable=this.withObservable;this.unsubscribe(),this.destination.add(this.timeoutSubscription=subscribeToResult_1.subscribeToResult(this,withObservable))}},TimeoutWithSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function toArray(){return this.lift(new ToArrayOperator)}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1);exports.toArray=toArray;var ToArrayOperator=function(){function ToArrayOperator(){}return ToArrayOperator.prototype.call=function(subscriber,source){return source.subscribe(new ToArraySubscriber(subscriber))},ToArrayOperator}(),ToArraySubscriber=function(_super){function ToArraySubscriber(destination){_super.call(this,destination),this.array=[]}return __extends(ToArraySubscriber,_super),ToArraySubscriber.prototype._next=function(x){
+this.array.push(x)},ToArraySubscriber.prototype._complete=function(){this.destination.next(this.array),this.destination.complete()},ToArraySubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function toPromise(PromiseCtor){var _this=this;if(PromiseCtor||(root_1.root.Rx&&root_1.root.Rx.config&&root_1.root.Rx.config.Promise?PromiseCtor=root_1.root.Rx.config.Promise:root_1.root.Promise&&(PromiseCtor=root_1.root.Promise)),!PromiseCtor)throw new Error("no Promise impl found");return new PromiseCtor(function(resolve,reject){var value;_this.subscribe(function(x){return value=x},function(err){return reject(err)},function(){return resolve(value)})})}var root_1=__webpack_require__(8);exports.toPromise=toPromise},function(module,exports,__webpack_require__){"use strict";function window(windowBoundaries){return this.lift(new WindowOperator(windowBoundaries))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subject_1=__webpack_require__(6),OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.window=window;var WindowOperator=function(){function WindowOperator(windowBoundaries){this.windowBoundaries=windowBoundaries}return WindowOperator.prototype.call=function(subscriber,source){var windowSubscriber=new WindowSubscriber(subscriber),sourceSubscription=source.subscribe(windowSubscriber);return sourceSubscription.closed||windowSubscriber.add(subscribeToResult_1.subscribeToResult(windowSubscriber,this.windowBoundaries)),sourceSubscription},WindowOperator}(),WindowSubscriber=function(_super){function WindowSubscriber(destination){_super.call(this,destination),this.window=new Subject_1.Subject,destination.next(this.window)}return __extends(WindowSubscriber,_super),WindowSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this.openWindow()},WindowSubscriber.prototype.notifyError=function(error,innerSub){this._error(error)},WindowSubscriber.prototype.notifyComplete=function(innerSub){this._complete()},WindowSubscriber.prototype._next=function(value){this.window.next(value)},WindowSubscriber.prototype._error=function(err){this.window.error(err),this.destination.error(err)},WindowSubscriber.prototype._complete=function(){this.window.complete(),this.destination.complete()},WindowSubscriber.prototype._unsubscribe=function(){this.window=null},WindowSubscriber.prototype.openWindow=function(){var prevWindow=this.window;prevWindow&&prevWindow.complete();var destination=this.destination,newWindow=this.window=new Subject_1.Subject;destination.next(newWindow)},WindowSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function windowCount(windowSize,startWindowEvery){return void 0===startWindowEvery&&(startWindowEvery=0),this.lift(new WindowCountOperator(windowSize,startWindowEvery))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscriber_1=__webpack_require__(1),Subject_1=__webpack_require__(6);exports.windowCount=windowCount;var WindowCountOperator=function(){function WindowCountOperator(windowSize,startWindowEvery){this.windowSize=windowSize,this.startWindowEvery=startWindowEvery}return WindowCountOperator.prototype.call=function(subscriber,source){return source.subscribe(new WindowCountSubscriber(subscriber,this.windowSize,this.startWindowEvery))},WindowCountOperator}(),WindowCountSubscriber=function(_super){function WindowCountSubscriber(destination,windowSize,startWindowEvery){_super.call(this,destination),this.destination=destination,this.windowSize=windowSize,this.startWindowEvery=startWindowEvery,this.windows=[new Subject_1.Subject],this.count=0,destination.next(this.windows[0])}return __extends(WindowCountSubscriber,_super),WindowCountSubscriber.prototype._next=function(value){for(var startWindowEvery=this.startWindowEvery>0?this.startWindowEvery:this.windowSize,destination=this.destination,windowSize=this.windowSize,windows=this.windows,len=windows.length,i=0;i<len&&!this.closed;i++)windows[i].next(value);var c=this.count-windowSize+1;if(c>=0&&c%startWindowEvery===0&&!this.closed&&windows.shift().complete(),++this.count%startWindowEvery===0&&!this.closed){var window_1=new Subject_1.Subject;windows.push(window_1),destination.next(window_1)}},WindowCountSubscriber.prototype._error=function(err){var windows=this.windows;if(windows)for(;windows.length>0&&!this.closed;)windows.shift().error(err);this.destination.error(err)},WindowCountSubscriber.prototype._complete=function(){var windows=this.windows;if(windows)for(;windows.length>0&&!this.closed;)windows.shift().complete();this.destination.complete()},WindowCountSubscriber.prototype._unsubscribe=function(){this.count=0,this.windows=null},WindowCountSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function windowTime(windowTimeSpan){var scheduler=async_1.async,windowCreationInterval=null,maxWindowSize=Number.POSITIVE_INFINITY;return isScheduler_1.isScheduler(arguments[3])&&(scheduler=arguments[3]),isScheduler_1.isScheduler(arguments[2])?scheduler=arguments[2]:isNumeric_1.isNumeric(arguments[2])&&(maxWindowSize=arguments[2]),isScheduler_1.isScheduler(arguments[1])?scheduler=arguments[1]:isNumeric_1.isNumeric(arguments[1])&&(windowCreationInterval=arguments[1]),this.lift(new WindowTimeOperator(windowTimeSpan,windowCreationInterval,maxWindowSize,scheduler))}function dispatchWindowTimeSpanOnly(state){var subscriber=state.subscriber,windowTimeSpan=state.windowTimeSpan,window=state.window;window&&subscriber.closeWindow(window),state.window=subscriber.openWindow(),this.schedule(state,windowTimeSpan)}function dispatchWindowCreation(state){var windowTimeSpan=state.windowTimeSpan,subscriber=state.subscriber,scheduler=state.scheduler,windowCreationInterval=state.windowCreationInterval,window=subscriber.openWindow(),action=this,context={action:action,subscription:null},timeSpanState={subscriber:subscriber,window:window,context:context};context.subscription=scheduler.schedule(dispatchWindowClose,windowTimeSpan,timeSpanState),action.add(context.subscription),action.schedule(state,windowCreationInterval)}function dispatchWindowClose(state){var subscriber=state.subscriber,window=state.window,context=state.context;context&&context.action&&context.subscription&&context.action.remove(context.subscription),subscriber.closeWindow(window)}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subject_1=__webpack_require__(6),async_1=__webpack_require__(10),Subscriber_1=__webpack_require__(1),isNumeric_1=__webpack_require__(39),isScheduler_1=__webpack_require__(15);exports.windowTime=windowTime;var WindowTimeOperator=function(){function WindowTimeOperator(windowTimeSpan,windowCreationInterval,maxWindowSize,scheduler){this.windowTimeSpan=windowTimeSpan,this.windowCreationInterval=windowCreationInterval,this.maxWindowSize=maxWindowSize,this.scheduler=scheduler}return WindowTimeOperator.prototype.call=function(subscriber,source){return source.subscribe(new WindowTimeSubscriber(subscriber,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))},WindowTimeOperator}(),CountedSubject=function(_super){function CountedSubject(){_super.apply(this,arguments),this._numberOfNextedValues=0}return __extends(CountedSubject,_super),CountedSubject.prototype.next=function(value){this._numberOfNextedValues++,_super.prototype.next.call(this,value)},Object.defineProperty(CountedSubject.prototype,"numberOfNextedValues",{get:function(){return this._numberOfNextedValues},enumerable:!0,configurable:!0}),CountedSubject}(Subject_1.Subject),WindowTimeSubscriber=function(_super){function WindowTimeSubscriber(destination,windowTimeSpan,windowCreationInterval,maxWindowSize,scheduler){_super.call(this,destination),this.destination=destination,this.windowTimeSpan=windowTimeSpan,this.windowCreationInterval=windowCreationInterval,this.maxWindowSize=maxWindowSize,this.scheduler=scheduler,this.windows=[];var window=this.openWindow();if(null!==windowCreationInterval&&windowCreationInterval>=0){var closeState={subscriber:this,window:window,context:null},creationState={windowTimeSpan:windowTimeSpan,windowCreationInterval:windowCreationInterval,subscriber:this,scheduler:scheduler};this.add(scheduler.schedule(dispatchWindowClose,windowTimeSpan,closeState)),this.add(scheduler.schedule(dispatchWindowCreation,windowCreationInterval,creationState))}else{var timeSpanOnlyState={subscriber:this,window:window,windowTimeSpan:windowTimeSpan};this.add(scheduler.schedule(dispatchWindowTimeSpanOnly,windowTimeSpan,timeSpanOnlyState))}}return __extends(WindowTimeSubscriber,_super),WindowTimeSubscriber.prototype._next=function(value){for(var windows=this.windows,len=windows.length,i=0;i<len;i++){var window_1=windows[i];window_1.closed||(window_1.next(value),window_1.numberOfNextedValues>=this.maxWindowSize&&this.closeWindow(window_1))}},WindowTimeSubscriber.prototype._error=function(err){for(var windows=this.windows;windows.length>0;)windows.shift().error(err);this.destination.error(err)},WindowTimeSubscriber.prototype._complete=function(){for(var windows=this.windows;windows.length>0;){var window_2=windows.shift();window_2.closed||window_2.complete()}this.destination.complete()},WindowTimeSubscriber.prototype.openWindow=function(){var window=new CountedSubject;this.windows.push(window);var destination=this.destination;return destination.next(window),window},WindowTimeSubscriber.prototype.closeWindow=function(window){window.complete();var windows=this.windows;windows.splice(windows.indexOf(window),1)},WindowTimeSubscriber}(Subscriber_1.Subscriber)},function(module,exports,__webpack_require__){"use strict";function windowToggle(openings,closingSelector){return this.lift(new WindowToggleOperator(openings,closingSelector))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subject_1=__webpack_require__(6),Subscription_1=__webpack_require__(5),tryCatch_1=__webpack_require__(9),errorObject_1=__webpack_require__(7),OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.windowToggle=windowToggle;var WindowToggleOperator=function(){function WindowToggleOperator(openings,closingSelector){this.openings=openings,this.closingSelector=closingSelector}return WindowToggleOperator.prototype.call=function(subscriber,source){return source.subscribe(new WindowToggleSubscriber(subscriber,this.openings,this.closingSelector))},WindowToggleOperator}(),WindowToggleSubscriber=function(_super){function WindowToggleSubscriber(destination,openings,closingSelector){_super.call(this,destination),this.openings=openings,this.closingSelector=closingSelector,this.contexts=[],this.add(this.openSubscription=subscribeToResult_1.subscribeToResult(this,openings,openings))}return __extends(WindowToggleSubscriber,_super),WindowToggleSubscriber.prototype._next=function(value){var contexts=this.contexts;if(contexts)for(var len=contexts.length,i=0;i<len;i++)contexts[i].window.next(value)},WindowToggleSubscriber.prototype._error=function(err){var contexts=this.contexts;if(this.contexts=null,contexts)for(var len=contexts.length,index=-1;++index<len;){var context=contexts[index];context.window.error(err),context.subscription.unsubscribe()}_super.prototype._error.call(this,err)},WindowToggleSubscriber.prototype._complete=function(){var contexts=this.contexts;if(this.contexts=null,contexts)for(var len=contexts.length,index=-1;++index<len;){var context=contexts[index];context.window.complete(),context.subscription.unsubscribe()}_super.prototype._complete.call(this)},WindowToggleSubscriber.prototype._unsubscribe=function(){var contexts=this.contexts;if(this.contexts=null,contexts)for(var len=contexts.length,index=-1;++index<len;){var context=contexts[index];context.window.unsubscribe(),context.subscription.unsubscribe()}},WindowToggleSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){if(outerValue===this.openings){var closingSelector=this.closingSelector,closingNotifier=tryCatch_1.tryCatch(closingSelector)(innerValue);if(closingNotifier===errorObject_1.errorObject)return this.error(errorObject_1.errorObject.e);var window_1=new Subject_1.Subject,subscription=new Subscription_1.Subscription,context={window:window_1,subscription:subscription};this.contexts.push(context);var innerSubscription=subscribeToResult_1.subscribeToResult(this,closingNotifier,context);innerSubscription.closed?this.closeWindow(this.contexts.length-1):(innerSubscription.context=context,subscription.add(innerSubscription)),this.destination.next(window_1)}else this.closeWindow(this.contexts.indexOf(outerValue))},WindowToggleSubscriber.prototype.notifyError=function(err){this.error(err)},WindowToggleSubscriber.prototype.notifyComplete=function(inner){inner!==this.openSubscription&&this.closeWindow(this.contexts.indexOf(inner.context))},WindowToggleSubscriber.prototype.closeWindow=function(index){if(index!==-1){var contexts=this.contexts,context=contexts[index],window=context.window,subscription=context.subscription;contexts.splice(index,1),window.complete(),subscription.unsubscribe()}},WindowToggleSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function windowWhen(closingSelector){return this.lift(new WindowOperator(closingSelector))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subject_1=__webpack_require__(6),tryCatch_1=__webpack_require__(9),errorObject_1=__webpack_require__(7),OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.windowWhen=windowWhen;var WindowOperator=function(){function WindowOperator(closingSelector){this.closingSelector=closingSelector}return WindowOperator.prototype.call=function(subscriber,source){return source.subscribe(new WindowSubscriber(subscriber,this.closingSelector))},WindowOperator}(),WindowSubscriber=function(_super){function WindowSubscriber(destination,closingSelector){_super.call(this,destination),this.destination=destination,this.closingSelector=closingSelector,this.openWindow()}return __extends(WindowSubscriber,_super),WindowSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this.openWindow(innerSub)},WindowSubscriber.prototype.notifyError=function(error,innerSub){this._error(error)},WindowSubscriber.prototype.notifyComplete=function(innerSub){this.openWindow(innerSub)},WindowSubscriber.prototype._next=function(value){this.window.next(value)},WindowSubscriber.prototype._error=function(err){this.window.error(err),this.destination.error(err),this.unsubscribeClosingNotification()},WindowSubscriber.prototype._complete=function(){this.window.complete(),this.destination.complete(),this.unsubscribeClosingNotification()},WindowSubscriber.prototype.unsubscribeClosingNotification=function(){this.closingNotification&&this.closingNotification.unsubscribe()},WindowSubscriber.prototype.openWindow=function(innerSub){void 0===innerSub&&(innerSub=null),innerSub&&(this.remove(innerSub),innerSub.unsubscribe());var prevWindow=this.window;prevWindow&&prevWindow.complete();var window=this.window=new Subject_1.Subject;this.destination.next(window);var closingNotifier=tryCatch_1.tryCatch(this.closingSelector)();if(closingNotifier===errorObject_1.errorObject){var err=errorObject_1.errorObject.e;this.destination.error(err),this.window.error(err)}else this.add(this.closingNotification=subscribeToResult_1.subscribeToResult(this,closingNotifier))},WindowSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function withLatestFrom(){for(var args=[],_i=0;_i<arguments.length;_i++)args[_i-0]=arguments[_i];var project;"function"==typeof args[args.length-1]&&(project=args.pop());var observables=args;return this.lift(new WithLatestFromOperator(observables,project))}var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},OuterSubscriber_1=__webpack_require__(2),subscribeToResult_1=__webpack_require__(3);exports.withLatestFrom=withLatestFrom;var WithLatestFromOperator=function(){function WithLatestFromOperator(observables,project){this.observables=observables,this.project=project}return WithLatestFromOperator.prototype.call=function(subscriber,source){return source.subscribe(new WithLatestFromSubscriber(subscriber,this.observables,this.project))},WithLatestFromOperator}(),WithLatestFromSubscriber=function(_super){function WithLatestFromSubscriber(destination,observables,project){_super.call(this,destination),this.observables=observables,this.project=project,this.toRespond=[];var len=observables.length;this.values=new Array(len);for(var i=0;i<len;i++)this.toRespond.push(i);for(var i=0;i<len;i++){var observable=observables[i];this.add(subscribeToResult_1.subscribeToResult(this,observable,observable,i))}}return __extends(WithLatestFromSubscriber,_super),WithLatestFromSubscriber.prototype.notifyNext=function(outerValue,innerValue,outerIndex,innerIndex,innerSub){this.values[outerIndex]=innerValue;var toRespond=this.toRespond;if(toRespond.length>0){var found=toRespond.indexOf(outerIndex);found!==-1&&toRespond.splice(found,1)}},WithLatestFromSubscriber.prototype.notifyComplete=function(){},WithLatestFromSubscriber.prototype._next=function(value){if(0===this.toRespond.length){var args=[value].concat(this.values);this.project?this._tryProject(args):this.destination.next(args)}},WithLatestFromSubscriber.prototype._tryProject=function(args){var result;try{result=this.project.apply(this,args)}catch(err){return void this.destination.error(err)}this.destination.next(result)},WithLatestFromSubscriber}(OuterSubscriber_1.OuterSubscriber)},function(module,exports,__webpack_require__){"use strict";function zipAll(project){return this.lift(new zip_1.ZipOperator(project))}var zip_1=__webpack_require__(57);exports.zipAll=zipAll},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subscription_1=__webpack_require__(5),Action=function(_super){function Action(scheduler,work){_super.call(this)}return __extends(Action,_super),Action.prototype.schedule=function(state,delay){return void 0===delay&&(delay=0),this},Action}(Subscription_1.Subscription);exports.Action=Action},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},AsyncAction_1=__webpack_require__(23),AnimationFrame_1=__webpack_require__(416),AnimationFrameAction=function(_super){function AnimationFrameAction(scheduler,work){_super.call(this,scheduler,work),this.scheduler=scheduler,this.work=work}return __extends(AnimationFrameAction,_super),AnimationFrameAction.prototype.requestAsyncId=function(scheduler,id,delay){return void 0===delay&&(delay=0),null!==delay&&delay>0?_super.prototype.requestAsyncId.call(this,scheduler,id,delay):(scheduler.actions.push(this),scheduler.scheduled||(scheduler.scheduled=AnimationFrame_1.AnimationFrame.requestAnimationFrame(scheduler.flush.bind(scheduler,null))))},AnimationFrameAction.prototype.recycleAsyncId=function(scheduler,id,delay){return void 0===delay&&(delay=0),null!==delay&&delay>0||null===delay&&this.delay>0?_super.prototype.recycleAsyncId.call(this,scheduler,id,delay):void(0===scheduler.actions.length&&(AnimationFrame_1.AnimationFrame.cancelAnimationFrame(id),scheduler.scheduled=void 0))},AnimationFrameAction}(AsyncAction_1.AsyncAction);exports.AnimationFrameAction=AnimationFrameAction},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},AsyncScheduler_1=__webpack_require__(24),AnimationFrameScheduler=function(_super){function AnimationFrameScheduler(){_super.apply(this,arguments)}return __extends(AnimationFrameScheduler,_super),AnimationFrameScheduler.prototype.flush=function(action){this.active=!0,this.scheduled=void 0;var error,actions=this.actions,index=-1,count=actions.length;action=action||actions.shift();do if(error=action.execute(action.state,action.delay))break;while(++index<count&&(action=actions.shift()));if(this.active=!1,error){for(;++index<count&&(action=actions.shift());)action.unsubscribe();throw error}},AnimationFrameScheduler}(AsyncScheduler_1.AsyncScheduler);exports.AnimationFrameScheduler=AnimationFrameScheduler},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Immediate_1=__webpack_require__(418),AsyncAction_1=__webpack_require__(23),AsapAction=function(_super){function AsapAction(scheduler,work){_super.call(this,scheduler,work),this.scheduler=scheduler,this.work=work}return __extends(AsapAction,_super),AsapAction.prototype.requestAsyncId=function(scheduler,id,delay){return void 0===delay&&(delay=0),null!==delay&&delay>0?_super.prototype.requestAsyncId.call(this,scheduler,id,delay):(scheduler.actions.push(this),scheduler.scheduled||(scheduler.scheduled=Immediate_1.Immediate.setImmediate(scheduler.flush.bind(scheduler,null))))},AsapAction.prototype.recycleAsyncId=function(scheduler,id,delay){return void 0===delay&&(delay=0),null!==delay&&delay>0||null===delay&&this.delay>0?_super.prototype.recycleAsyncId.call(this,scheduler,id,delay):void(0===scheduler.actions.length&&(Immediate_1.Immediate.clearImmediate(id),scheduler.scheduled=void 0))},AsapAction}(AsyncAction_1.AsyncAction);exports.AsapAction=AsapAction},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},AsyncScheduler_1=__webpack_require__(24),AsapScheduler=function(_super){function AsapScheduler(){_super.apply(this,arguments)}return __extends(AsapScheduler,_super),AsapScheduler.prototype.flush=function(action){this.active=!0,this.scheduled=void 0;var error,actions=this.actions,index=-1,count=actions.length;action=action||actions.shift();do if(error=action.execute(action.state,action.delay))break;while(++index<count&&(action=actions.shift()));if(this.active=!1,error){for(;++index<count&&(action=actions.shift());)action.unsubscribe();throw error}},AsapScheduler}(AsyncScheduler_1.AsyncScheduler);exports.AsapScheduler=AsapScheduler},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},AsyncAction_1=__webpack_require__(23),QueueAction=function(_super){function QueueAction(scheduler,work){_super.call(this,scheduler,work),this.scheduler=scheduler,this.work=work}return __extends(QueueAction,_super),QueueAction.prototype.schedule=function(state,delay){return void 0===delay&&(delay=0),delay>0?_super.prototype.schedule.call(this,state,delay):(this.delay=delay,this.state=state,this.scheduler.flush(this),this)},QueueAction.prototype.execute=function(state,delay){return delay>0||this.closed?_super.prototype.execute.call(this,state,delay):this._execute(state,delay)},QueueAction.prototype.requestAsyncId=function(scheduler,id,delay){return void 0===delay&&(delay=0),null!==delay&&delay>0||null===delay&&this.delay>0?_super.prototype.requestAsyncId.call(this,scheduler,id,delay):scheduler.flush(this)},QueueAction}(AsyncAction_1.AsyncAction);exports.QueueAction=QueueAction},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},AsyncScheduler_1=__webpack_require__(24),QueueScheduler=function(_super){function QueueScheduler(){_super.apply(this,arguments)}return __extends(QueueScheduler,_super),QueueScheduler}(AsyncScheduler_1.AsyncScheduler);exports.QueueScheduler=QueueScheduler},function(module,exports,__webpack_require__){"use strict";var AnimationFrameAction_1=__webpack_require__(406),AnimationFrameScheduler_1=__webpack_require__(407);exports.animationFrame=new AnimationFrameScheduler_1.AnimationFrameScheduler(AnimationFrameAction_1.AnimationFrameAction)},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),Subscription_1=__webpack_require__(5),SubscriptionLoggable_1=__webpack_require__(91),applyMixins_1=__webpack_require__(94),ColdObservable=function(_super){function ColdObservable(messages,scheduler){_super.call(this,function(subscriber){var observable=this,index=observable.logSubscribedFrame();return subscriber.add(new Subscription_1.Subscription(function(){observable.logUnsubscribedFrame(index)})),observable.scheduleMessages(subscriber),subscriber}),this.messages=messages,this.subscriptions=[],this.scheduler=scheduler}return __extends(ColdObservable,_super),ColdObservable.prototype.scheduleMessages=function(subscriber){for(var messagesLength=this.messages.length,i=0;i<messagesLength;i++){var message=this.messages[i];subscriber.add(this.scheduler.schedule(function(_a){var message=_a.message,subscriber=_a.subscriber;message.notification.observe(subscriber)},message.frame,{message:message,subscriber:subscriber}))}},ColdObservable}(Observable_1.Observable);exports.ColdObservable=ColdObservable,applyMixins_1.applyMixins(ColdObservable,[SubscriptionLoggable_1.SubscriptionLoggable])},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Subject_1=__webpack_require__(6),Subscription_1=__webpack_require__(5),SubscriptionLoggable_1=__webpack_require__(91),applyMixins_1=__webpack_require__(94),HotObservable=function(_super){function HotObservable(messages,scheduler){_super.call(this),this.messages=messages,this.subscriptions=[],this.scheduler=scheduler}return __extends(HotObservable,_super),HotObservable.prototype._subscribe=function(subscriber){var subject=this,index=subject.logSubscribedFrame();return subscriber.add(new Subscription_1.Subscription(function(){subject.logUnsubscribedFrame(index)})),_super.prototype._subscribe.call(this,subscriber)},HotObservable.prototype.setup=function(){for(var subject=this,messagesLength=subject.messages.length,i=0;i<messagesLength;i++)!function(){var message=subject.messages[i];subject.scheduler.schedule(function(){message.notification.observe(subject)},message.frame)}()},HotObservable}(Subject_1.Subject);exports.HotObservable=HotObservable,applyMixins_1.applyMixins(HotObservable,[SubscriptionLoggable_1.SubscriptionLoggable])},function(module,exports,__webpack_require__){"use strict";var __extends=this&&this.__extends||function(d,b){function __(){this.constructor=d}for(var p in b)b.hasOwnProperty(p)&&(d[p]=b[p]);d.prototype=null===b?Object.create(b):(__.prototype=b.prototype,new __)},Observable_1=__webpack_require__(0),Notification_1=__webpack_require__(22),ColdObservable_1=__webpack_require__(413),HotObservable_1=__webpack_require__(414),SubscriptionLog_1=__webpack_require__(90),VirtualTimeScheduler_1=__webpack_require__(87),defaultMaxFrame=750,TestScheduler=function(_super){function TestScheduler(assertDeepEqual){_super.call(this,VirtualTimeScheduler_1.VirtualAction,defaultMaxFrame),this.assertDeepEqual=assertDeepEqual,this.hotObservables=[],this.coldObservables=[],this.flushTests=[]}return __extends(TestScheduler,_super),TestScheduler.prototype.createTime=function(marbles){var indexOf=marbles.indexOf("|");if(indexOf===-1)throw new Error('marble diagram for time should have a completion marker "|"');return indexOf*TestScheduler.frameTimeFactor},TestScheduler.prototype.createColdObservable=function(marbles,values,error){if(marbles.indexOf("^")!==-1)throw new Error('cold observable cannot have subscription offset "^"');if(marbles.indexOf("!")!==-1)throw new Error('cold observable cannot have unsubscription marker "!"');var messages=TestScheduler.parseMarbles(marbles,values,error),cold=new ColdObservable_1.ColdObservable(messages,this);return this.coldObservables.push(cold),cold},TestScheduler.prototype.createHotObservable=function(marbles,values,error){if(marbles.indexOf("!")!==-1)throw new Error('hot observable cannot have unsubscription marker "!"');var messages=TestScheduler.parseMarbles(marbles,values,error),subject=new HotObservable_1.HotObservable(messages,this);return this.hotObservables.push(subject),subject},TestScheduler.prototype.materializeInnerObservable=function(observable,outerFrame){var _this=this,messages=[];return observable.subscribe(function(value){messages.push({frame:_this.frame-outerFrame,notification:Notification_1.Notification.createNext(value)})},function(err){messages.push({frame:_this.frame-outerFrame,notification:Notification_1.Notification.createError(err)})},function(){messages.push({frame:_this.frame-outerFrame,notification:Notification_1.Notification.createComplete()})}),messages},TestScheduler.prototype.expectObservable=function(observable,unsubscriptionMarbles){var _this=this;void 0===unsubscriptionMarbles&&(unsubscriptionMarbles=null);var subscription,actual=[],flushTest={actual:actual,ready:!1},unsubscriptionFrame=TestScheduler.parseMarblesAsSubscriptions(unsubscriptionMarbles).unsubscribedFrame;return this.schedule(function(){subscription=observable.subscribe(function(x){var value=x;x instanceof Observable_1.Observable&&(value=_this.materializeInnerObservable(value,_this.frame)),actual.push({frame:_this.frame,notification:Notification_1.Notification.createNext(value)})},function(err){actual.push({frame:_this.frame,notification:Notification_1.Notification.createError(err)})},function(){actual.push({frame:_this.frame,notification:Notification_1.Notification.createComplete()})})},0),unsubscriptionFrame!==Number.POSITIVE_INFINITY&&this.schedule(function(){return subscription.unsubscribe()},unsubscriptionFrame),this.flushTests.push(flushTest),{toBe:function(marbles,values,errorValue){flushTest.ready=!0,flushTest.expected=TestScheduler.parseMarbles(marbles,values,errorValue,!0)}}},TestScheduler.prototype.expectSubscriptions=function(actualSubscriptionLogs){var flushTest={actual:actualSubscriptionLogs,ready:!1};return this.flushTests.push(flushTest),
+{toBe:function(marbles){var marblesArray="string"==typeof marbles?[marbles]:marbles;flushTest.ready=!0,flushTest.expected=marblesArray.map(function(marbles){return TestScheduler.parseMarblesAsSubscriptions(marbles)})}}},TestScheduler.prototype.flush=function(){for(var hotObservables=this.hotObservables;hotObservables.length>0;)hotObservables.shift().setup();_super.prototype.flush.call(this);for(var readyFlushTests=this.flushTests.filter(function(test){return test.ready});readyFlushTests.length>0;){var test=readyFlushTests.shift();this.assertDeepEqual(test.actual,test.expected)}},TestScheduler.parseMarblesAsSubscriptions=function(marbles){if("string"!=typeof marbles)return new SubscriptionLog_1.SubscriptionLog(Number.POSITIVE_INFINITY);for(var len=marbles.length,groupStart=-1,subscriptionFrame=Number.POSITIVE_INFINITY,unsubscriptionFrame=Number.POSITIVE_INFINITY,i=0;i<len;i++){var frame=i*this.frameTimeFactor,c=marbles[i];switch(c){case"-":case" ":break;case"(":groupStart=frame;break;case")":groupStart=-1;break;case"^":if(subscriptionFrame!==Number.POSITIVE_INFINITY)throw new Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");subscriptionFrame=groupStart>-1?groupStart:frame;break;case"!":if(unsubscriptionFrame!==Number.POSITIVE_INFINITY)throw new Error("found a second subscription point '^' in a subscription marble diagram. There can only be one.");unsubscriptionFrame=groupStart>-1?groupStart:frame;break;default:throw new Error("there can only be '^' and '!' markers in a subscription marble diagram. Found instead '"+c+"'.")}}return unsubscriptionFrame<0?new SubscriptionLog_1.SubscriptionLog(subscriptionFrame):new SubscriptionLog_1.SubscriptionLog(subscriptionFrame,unsubscriptionFrame)},TestScheduler.parseMarbles=function(marbles,values,errorValue,materializeInnerObservables){if(void 0===materializeInnerObservables&&(materializeInnerObservables=!1),marbles.indexOf("!")!==-1)throw new Error('conventional marble diagrams cannot have the unsubscription marker "!"');for(var len=marbles.length,testMessages=[],subIndex=marbles.indexOf("^"),frameOffset=subIndex===-1?0:subIndex*-this.frameTimeFactor,getValue="object"!=typeof values?function(x){return x}:function(x){return materializeInnerObservables&&values[x]instanceof ColdObservable_1.ColdObservable?values[x].messages:values[x]},groupStart=-1,i=0;i<len;i++){var frame=i*this.frameTimeFactor+frameOffset,notification=void 0,c=marbles[i];switch(c){case"-":case" ":break;case"(":groupStart=frame;break;case")":groupStart=-1;break;case"|":notification=Notification_1.Notification.createComplete();break;case"^":break;case"#":notification=Notification_1.Notification.createError(errorValue||"error");break;default:notification=Notification_1.Notification.createNext(getValue(c))}notification&&testMessages.push({frame:groupStart>-1?groupStart:frame,notification:notification})}return testMessages},TestScheduler}(VirtualTimeScheduler_1.VirtualTimeScheduler);exports.TestScheduler=TestScheduler},function(module,exports,__webpack_require__){"use strict";var root_1=__webpack_require__(8),RequestAnimationFrameDefinition=function(){function RequestAnimationFrameDefinition(root){root.requestAnimationFrame?(this.cancelAnimationFrame=root.cancelAnimationFrame.bind(root),this.requestAnimationFrame=root.requestAnimationFrame.bind(root)):root.mozRequestAnimationFrame?(this.cancelAnimationFrame=root.mozCancelAnimationFrame.bind(root),this.requestAnimationFrame=root.mozRequestAnimationFrame.bind(root)):root.webkitRequestAnimationFrame?(this.cancelAnimationFrame=root.webkitCancelAnimationFrame.bind(root),this.requestAnimationFrame=root.webkitRequestAnimationFrame.bind(root)):root.msRequestAnimationFrame?(this.cancelAnimationFrame=root.msCancelAnimationFrame.bind(root),this.requestAnimationFrame=root.msRequestAnimationFrame.bind(root)):root.oRequestAnimationFrame?(this.cancelAnimationFrame=root.oCancelAnimationFrame.bind(root),this.requestAnimationFrame=root.oRequestAnimationFrame.bind(root)):(this.cancelAnimationFrame=root.clearTimeout.bind(root),this.requestAnimationFrame=function(cb){return root.setTimeout(cb,1e3/60)})}return RequestAnimationFrameDefinition}();exports.RequestAnimationFrameDefinition=RequestAnimationFrameDefinition,exports.AnimationFrame=new RequestAnimationFrameDefinition(root_1.root)},function(module,exports){"use strict";var FastMap=function(){function FastMap(){this.values={}}return FastMap.prototype["delete"]=function(key){return this.values[key]=null,!0},FastMap.prototype.set=function(key,value){return this.values[key]=value,this},FastMap.prototype.get=function(key){return this.values[key]},FastMap.prototype.forEach=function(cb,thisArg){var values=this.values;for(var key in values)values.hasOwnProperty(key)&&null!==values[key]&&cb.call(thisArg,values[key],key)},FastMap.prototype.clear=function(){this.values={}},FastMap}();exports.FastMap=FastMap},function(module,exports,__webpack_require__){"use strict";(function(clearImmediate,setImmediate){var root_1=__webpack_require__(8),ImmediateDefinition=function(){function ImmediateDefinition(root){if(this.root=root,root.setImmediate&&"function"==typeof root.setImmediate)this.setImmediate=root.setImmediate.bind(root),this.clearImmediate=root.clearImmediate.bind(root);else{this.nextHandle=1,this.tasksByHandle={},this.currentlyRunningATask=!1,this.canUseProcessNextTick()?this.setImmediate=this.createProcessNextTickSetImmediate():this.canUsePostMessage()?this.setImmediate=this.createPostMessageSetImmediate():this.canUseMessageChannel()?this.setImmediate=this.createMessageChannelSetImmediate():this.canUseReadyStateChange()?this.setImmediate=this.createReadyStateChangeSetImmediate():this.setImmediate=this.createSetTimeoutSetImmediate();var ci=function clearImmediate(handle){delete clearImmediate.instance.tasksByHandle[handle]};ci.instance=this,this.clearImmediate=ci}}return ImmediateDefinition.prototype.identify=function(o){return this.root.Object.prototype.toString.call(o)},ImmediateDefinition.prototype.canUseProcessNextTick=function(){return"[object process]"===this.identify(this.root.process)},ImmediateDefinition.prototype.canUseMessageChannel=function(){return Boolean(this.root.MessageChannel)},ImmediateDefinition.prototype.canUseReadyStateChange=function(){var document=this.root.document;return Boolean(document&&"onreadystatechange"in document.createElement("script"))},ImmediateDefinition.prototype.canUsePostMessage=function(){var root=this.root;if(root.postMessage&&!root.importScripts){var postMessageIsAsynchronous_1=!0,oldOnMessage=root.onmessage;return root.onmessage=function(){postMessageIsAsynchronous_1=!1},root.postMessage("","*"),root.onmessage=oldOnMessage,postMessageIsAsynchronous_1}return!1},ImmediateDefinition.prototype.partiallyApplied=function(handler){for(var args=[],_i=1;_i<arguments.length;_i++)args[_i-1]=arguments[_i];var fn=function result(){var _a=result,handler=_a.handler,args=_a.args;"function"==typeof handler?handler.apply(void 0,args):new Function(""+handler)()};return fn.handler=handler,fn.args=args,fn},ImmediateDefinition.prototype.addFromSetImmediateArguments=function(args){return this.tasksByHandle[this.nextHandle]=this.partiallyApplied.apply(void 0,args),this.nextHandle++},ImmediateDefinition.prototype.createProcessNextTickSetImmediate=function(){var fn=function setImmediate(){var instance=setImmediate.instance,handle=instance.addFromSetImmediateArguments(arguments);return instance.root.process.nextTick(instance.partiallyApplied(instance.runIfPresent,handle)),handle};return fn.instance=this,fn},ImmediateDefinition.prototype.createPostMessageSetImmediate=function(){var root=this.root,messagePrefix="setImmediate$"+root.Math.random()+"$",onGlobalMessage=function globalMessageHandler(event){var instance=globalMessageHandler.instance;event.source===root&&"string"==typeof event.data&&0===event.data.indexOf(messagePrefix)&&instance.runIfPresent(+event.data.slice(messagePrefix.length))};onGlobalMessage.instance=this,root.addEventListener("message",onGlobalMessage,!1);var fn=function setImmediate(){var _a=setImmediate,messagePrefix=_a.messagePrefix,instance=_a.instance,handle=instance.addFromSetImmediateArguments(arguments);return instance.root.postMessage(messagePrefix+handle,"*"),handle};return fn.instance=this,fn.messagePrefix=messagePrefix,fn},ImmediateDefinition.prototype.runIfPresent=function(handle){if(this.currentlyRunningATask)this.root.setTimeout(this.partiallyApplied(this.runIfPresent,handle),0);else{var task=this.tasksByHandle[handle];if(task){this.currentlyRunningATask=!0;try{task()}finally{this.clearImmediate(handle),this.currentlyRunningATask=!1}}}},ImmediateDefinition.prototype.createMessageChannelSetImmediate=function(){var _this=this,channel=new this.root.MessageChannel;channel.port1.onmessage=function(event){var handle=event.data;_this.runIfPresent(handle)};var fn=function setImmediate(){var _a=setImmediate,channel=_a.channel,instance=_a.instance,handle=instance.addFromSetImmediateArguments(arguments);return channel.port2.postMessage(handle),handle};return fn.channel=channel,fn.instance=this,fn},ImmediateDefinition.prototype.createReadyStateChangeSetImmediate=function(){var fn=function setImmediate(){var instance=setImmediate.instance,root=instance.root,doc=root.document,html=doc.documentElement,handle=instance.addFromSetImmediateArguments(arguments),script=doc.createElement("script");return script.onreadystatechange=function(){instance.runIfPresent(handle),script.onreadystatechange=null,html.removeChild(script),script=null},html.appendChild(script),handle};return fn.instance=this,fn},ImmediateDefinition.prototype.createSetTimeoutSetImmediate=function(){var fn=function setImmediate(){var instance=setImmediate.instance,handle=instance.addFromSetImmediateArguments(arguments);return instance.root.setTimeout(instance.partiallyApplied(instance.runIfPresent,handle),0),handle};return fn.instance=this,fn},ImmediateDefinition}();exports.ImmediateDefinition=ImmediateDefinition,exports.Immediate=new ImmediateDefinition(root_1.root)}).call(exports,__webpack_require__(29).clearImmediate,__webpack_require__(29).setImmediate)},function(module,exports,__webpack_require__){"use strict";var root_1=__webpack_require__(8),MapPolyfill_1=__webpack_require__(420);exports.Map=root_1.root.Map||function(){return MapPolyfill_1.MapPolyfill}()},function(module,exports){"use strict";var MapPolyfill=function(){function MapPolyfill(){this.size=0,this._values=[],this._keys=[]}return MapPolyfill.prototype.get=function(key){var i=this._keys.indexOf(key);return i===-1?void 0:this._values[i]},MapPolyfill.prototype.set=function(key,value){var i=this._keys.indexOf(key);return i===-1?(this._keys.push(key),this._values.push(value),this.size++):this._values[i]=value,this},MapPolyfill.prototype["delete"]=function(key){var i=this._keys.indexOf(key);return i!==-1&&(this._values.splice(i,1),this._keys.splice(i,1),this.size--,!0)},MapPolyfill.prototype.clear=function(){this._keys.length=0,this._values.length=0,this.size=0},MapPolyfill.prototype.forEach=function(cb,thisArg){for(var i=0;i<this.size;i++)cb.call(thisArg,this._values[i],this._keys[i])},MapPolyfill}();exports.MapPolyfill=MapPolyfill},function(module,exports,__webpack_require__){"use strict";function minimalSetImpl(){return function(){function MinimalSet(){this._values=[]}return MinimalSet.prototype.add=function(value){this.has(value)||this._values.push(value)},MinimalSet.prototype.has=function(value){return this._values.indexOf(value)!==-1},Object.defineProperty(MinimalSet.prototype,"size",{get:function(){return this._values.length},enumerable:!0,configurable:!0}),MinimalSet.prototype.clear=function(){this._values.length=0},MinimalSet}()}var root_1=__webpack_require__(8);exports.minimalSetImpl=minimalSetImpl,exports.Set=root_1.root.Set||minimalSetImpl()},function(module,exports,__webpack_require__){"use strict";function assignImpl(target){for(var sources=[],_i=1;_i<arguments.length;_i++)sources[_i-1]=arguments[_i];for(var len=sources.length,i=0;i<len;i++){var source=sources[i];for(var k in source)source.hasOwnProperty(k)&&(target[k]=source[k])}return target}function getAssign(root){return root.Object.assign||assignImpl}var root_1=__webpack_require__(8);exports.assignImpl=assignImpl,exports.getAssign=getAssign,exports.assign=getAssign(root_1.root)},function(module,exports){"use strict";function not(pred,thisArg){function notPred(){return!notPred.pred.apply(notPred.thisArg,arguments)}return notPred.pred=pred,notPred.thisArg=thisArg,notPred}exports.not=not},function(module,exports,__webpack_require__){"use strict";function toSubscriber(nextOrObserver,error,complete){if(nextOrObserver){if(nextOrObserver instanceof Subscriber_1.Subscriber)return nextOrObserver;if(nextOrObserver[rxSubscriber_1.$$rxSubscriber])return nextOrObserver[rxSubscriber_1.$$rxSubscriber]()}return nextOrObserver||error||complete?new Subscriber_1.Subscriber(nextOrObserver,error,complete):new Subscriber_1.Subscriber(Observer_1.empty)}var Subscriber_1=__webpack_require__(1),rxSubscriber_1=__webpack_require__(33),Observer_1=__webpack_require__(71);exports.toSubscriber=toSubscriber},function(module,exports,__webpack_require__){(function(global){function url(uri,loc){var obj=uri;loc=loc||global.location,null==uri&&(uri=loc.protocol+"//"+loc.host),"string"==typeof uri&&("/"===uri.charAt(0)&&(uri="/"===uri.charAt(1)?loc.protocol+uri:loc.host+uri),/^(https?|wss?):\/\//.test(uri)||(debug("protocol-less url %s",uri),uri="undefined"!=typeof loc?loc.protocol+"//"+uri:"https://"+uri),debug("parse %s",uri),obj=parseuri(uri)),obj.port||(/^(http|ws)$/.test(obj.protocol)?obj.port="80":/^(http|ws)s$/.test(obj.protocol)&&(obj.port="443")),obj.path=obj.path||"/";var ipv6=obj.host.indexOf(":")!==-1,host=ipv6?"["+obj.host+"]":obj.host;return obj.id=obj.protocol+"://"+host+":"+obj.port,obj.href=obj.protocol+"://"+host+(loc&&loc.port===obj.port?"":":"+obj.port),obj}var parseuri=__webpack_require__(108),debug=__webpack_require__(18)("socket.io-client:url");module.exports=url}).call(exports,__webpack_require__(4))},function(module,exports){function Backoff(opts){opts=opts||{},this.ms=opts.min||100,this.max=opts.max||1e4,this.factor=opts.factor||2,this.jitter=opts.jitter>0&&opts.jitter<=1?opts.jitter:0,this.attempts=0}module.exports=Backoff,Backoff.prototype.duration=function(){var ms=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var rand=Math.random(),deviation=Math.floor(rand*this.jitter*ms);ms=0==(1&Math.floor(10*rand))?ms-deviation:ms+deviation}return 0|Math.min(ms,this.max)},Backoff.prototype.reset=function(){this.attempts=0},Backoff.prototype.setMin=function(min){this.ms=min},Backoff.prototype.setMax=function(max){this.max=max},Backoff.prototype.setJitter=function(jitter){this.jitter=jitter}},function(module,exports,__webpack_require__){function selectColor(){return exports.colors[prevColor++%exports.colors.length]}function debug(namespace){function disabled(){}function enabled(){var self=enabled,curr=+new Date,ms=curr-(prevTime||curr);self.diff=ms,self.prev=prevTime,self.curr=curr,prevTime=curr,null==self.useColors&&(self.useColors=exports.useColors()),null==self.color&&self.useColors&&(self.color=selectColor());for(var args=new Array(arguments.length),i=0;i<args.length;i++)args[i]=arguments[i];args[0]=exports.coerce(args[0]),"string"!=typeof args[0]&&(args=["%o"].concat(args));var index=0;args[0]=args[0].replace(/%([a-z%])/g,function(match,format){if("%%"===match)return match;index++;var formatter=exports.formatters[format];if("function"==typeof formatter){var val=args[index];match=formatter.call(self,val),args.splice(index,1),index--}return match}),args=exports.formatArgs.apply(self,args);var logFn=enabled.log||exports.log||console.log.bind(console);logFn.apply(self,args)}disabled.enabled=!1,enabled.enabled=!0;var fn=exports.enabled(namespace)?enabled:disabled;return fn.namespace=namespace,fn}function enable(namespaces){exports.save(namespaces);for(var split=(namespaces||"").split(/[\s,]+/),len=split.length,i=0;i<len;i++)split[i]&&(namespaces=split[i].replace(/[\\^$+?.()|[\]{}]/g,"\\$&").replace(/\*/g,".*?"),"-"===namespaces[0]?exports.skips.push(new RegExp("^"+namespaces.substr(1)+"$")):exports.names.push(new RegExp("^"+namespaces+"$")))}function disable(){exports.enable("")}function enabled(name){var i,len;for(i=0,len=exports.skips.length;i<len;i++)if(exports.skips[i].test(name))return!1;for(i=0,len=exports.names.length;i<len;i++)if(exports.names[i].test(name))return!0;return!1}function coerce(val){return val instanceof Error?val.stack||val.message:val}exports=module.exports=debug.debug=debug,exports.coerce=coerce,exports.disable=disable,exports.enable=enable,exports.enabled=enabled,exports.humanize=__webpack_require__(428),exports.names=[],exports.skips=[],exports.formatters={};var prevTime,prevColor=0},function(module,exports){function parse(str){if(str=String(str),!(str.length>1e4)){var match=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(str);if(match){var n=parseFloat(match[1]),type=(match[2]||"ms").toLowerCase();switch(type){case"years":case"year":case"yrs":case"yr":case"y":return n*y;case"days":case"day":case"d":return n*d;case"hours":case"hour":case"hrs":case"hr":case"h":return n*h;case"minutes":case"minute":case"mins":case"min":case"m":return n*m;case"seconds":case"second":case"secs":case"sec":case"s":return n*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}function fmtShort(ms){return ms>=d?Math.round(ms/d)+"d":ms>=h?Math.round(ms/h)+"h":ms>=m?Math.round(ms/m)+"m":ms>=s?Math.round(ms/s)+"s":ms+"ms"}function fmtLong(ms){return plural(ms,d,"day")||plural(ms,h,"hour")||plural(ms,m,"minute")||plural(ms,s,"second")||ms+" ms"}function plural(ms,n,name){if(!(ms<n))return ms<1.5*n?Math.floor(ms/n)+" "+name:Math.ceil(ms/n)+" "+name+"s"}var s=1e3,m=60*s,h=60*m,d=24*h,y=365.25*d;module.exports=function(val,options){options=options||{};var type=typeof val;if("string"===type&&val.length>0)return parse(val);if("number"===type&&isNaN(val)===!1)return options["long"]?fmtLong(val):fmtShort(val);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(val))}},function(module,exports,__webpack_require__){module.exports=__webpack_require__(430)},function(module,exports,__webpack_require__){module.exports=__webpack_require__(431),module.exports.parser=__webpack_require__(21)},function(module,exports,__webpack_require__){(function(global){function Socket(uri,opts){if(!(this instanceof Socket))return new Socket(uri,opts);opts=opts||{},uri&&"object"==typeof uri&&(opts=uri,uri=null),uri?(uri=parseuri(uri),opts.hostname=uri.host,opts.secure="https"===uri.protocol||"wss"===uri.protocol,opts.port=uri.port,uri.query&&(opts.query=uri.query)):opts.host&&(opts.hostname=parseuri(opts.host).host),this.secure=null!=opts.secure?opts.secure:global.location&&"https:"===location.protocol,opts.hostname&&!opts.port&&(opts.port=this.secure?"443":"80"),this.agent=opts.agent||!1,this.hostname=opts.hostname||(global.location?location.hostname:"localhost"),this.port=opts.port||(global.location&&location.port?location.port:this.secure?443:80),this.query=opts.query||{},"string"==typeof this.query&&(this.query=parseqs.decode(this.query)),this.upgrade=!1!==opts.upgrade,this.path=(opts.path||"/engine.io").replace(/\/$/,"")+"/",this.forceJSONP=!!opts.forceJSONP,this.jsonp=!1!==opts.jsonp,this.forceBase64=!!opts.forceBase64,this.enablesXDR=!!opts.enablesXDR,this.timestampParam=opts.timestampParam||"t",this.timestampRequests=opts.timestampRequests,this.transports=opts.transports||["polling","websocket"],this.readyState="",this.writeBuffer=[],this.prevBufferLen=0,this.policyPort=opts.policyPort||843,this.rememberUpgrade=opts.rememberUpgrade||!1,this.binaryType=null,this.onlyBinaryUpgrades=opts.onlyBinaryUpgrades,this.perMessageDeflate=!1!==opts.perMessageDeflate&&(opts.perMessageDeflate||{}),!0===this.perMessageDeflate&&(this.perMessageDeflate={}),this.perMessageDeflate&&null==this.perMessageDeflate.threshold&&(this.perMessageDeflate.threshold=1024),this.pfx=opts.pfx||null,this.key=opts.key||null,this.passphrase=opts.passphrase||null,this.cert=opts.cert||null,this.ca=opts.ca||null,this.ciphers=opts.ciphers||null,this.rejectUnauthorized=void 0===opts.rejectUnauthorized?null:opts.rejectUnauthorized,this.forceNode=!!opts.forceNode;var freeGlobal="object"==typeof global&&global;freeGlobal.global===freeGlobal&&(opts.extraHeaders&&Object.keys(opts.extraHeaders).length>0&&(this.extraHeaders=opts.extraHeaders),opts.localAddress&&(this.localAddress=opts.localAddress)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingIntervalTimer=null,this.pingTimeoutTimer=null,this.open()}function clone(obj){var o={};for(var i in obj)obj.hasOwnProperty(i)&&(o[i]=obj[i]);return o}var transports=__webpack_require__(103),Emitter=__webpack_require__(26),debug=__webpack_require__(18)("engine.io-client:socket"),index=__webpack_require__(107),parser=__webpack_require__(21),parseuri=__webpack_require__(108),parsejson=__webpack_require__(442),parseqs=__webpack_require__(60);module.exports=Socket,Socket.priorWebsocketSuccess=!1,Emitter(Socket.prototype),Socket.protocol=parser.protocol,Socket.Socket=Socket,Socket.Transport=__webpack_require__(58),Socket.transports=__webpack_require__(103),Socket.parser=__webpack_require__(21),Socket.prototype.createTransport=function(name){debug('creating transport "%s"',name);var query=clone(this.query);query.EIO=parser.protocol,query.transport=name,this.id&&(query.sid=this.id);var transport=new transports[name]({agent:this.agent,hostname:this.hostname,port:this.port,secure:this.secure,path:this.path,query:query,forceJSONP:this.forceJSONP,jsonp:this.jsonp,forceBase64:this.forceBase64,enablesXDR:this.enablesXDR,timestampRequests:this.timestampRequests,timestampParam:this.timestampParam,policyPort:this.policyPort,socket:this,pfx:this.pfx,key:this.key,passphrase:this.passphrase,cert:this.cert,ca:this.ca,ciphers:this.ciphers,rejectUnauthorized:this.rejectUnauthorized,perMessageDeflate:this.perMessageDeflate,extraHeaders:this.extraHeaders,forceNode:this.forceNode,localAddress:this.localAddress});return transport},Socket.prototype.open=function(){var transport;if(this.rememberUpgrade&&Socket.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)transport="websocket";else{if(0===this.transports.length){var self=this;return void setTimeout(function(){self.emit("error","No transports available")},0)}transport=this.transports[0]}this.readyState="opening";try{transport=this.createTransport(transport)}catch(e){return this.transports.shift(),void this.open()}transport.open(),this.setTransport(transport)},Socket.prototype.setTransport=function(transport){debug("setting transport %s",transport.name);var self=this;this.transport&&(debug("clearing existing transport %s",this.transport.name),this.transport.removeAllListeners()),this.transport=transport,transport.on("drain",function(){self.onDrain()}).on("packet",function(packet){self.onPacket(packet)}).on("error",function(e){self.onError(e)}).on("close",function(){self.onClose("transport close")})},Socket.prototype.probe=function(name){function onTransportOpen(){if(self.onlyBinaryUpgrades){var upgradeLosesBinary=!this.supportsBinary&&self.transport.supportsBinary;failed=failed||upgradeLosesBinary}failed||(debug('probe transport "%s" opened',name),transport.send([{type:"ping",data:"probe"}]),transport.once("packet",function(msg){if(!failed)if("pong"===msg.type&&"probe"===msg.data){if(debug('probe transport "%s" pong',name),self.upgrading=!0,self.emit("upgrading",transport),!transport)return;Socket.priorWebsocketSuccess="websocket"===transport.name,debug('pausing current transport "%s"',self.transport.name),self.transport.pause(function(){failed||"closed"!==self.readyState&&(debug("changing transport and sending upgrade packet"),cleanup(),self.setTransport(transport),transport.send([{type:"upgrade"}]),self.emit("upgrade",transport),transport=null,self.upgrading=!1,self.flush())})}else{debug('probe transport "%s" failed',name);var err=new Error("probe error");err.transport=transport.name,self.emit("upgradeError",err)}}))}function freezeTransport(){failed||(failed=!0,cleanup(),transport.close(),transport=null)}function onerror(err){var error=new Error("probe error: "+err);error.transport=transport.name,freezeTransport(),debug('probe transport "%s" failed because of error: %s',name,err),self.emit("upgradeError",error)}function onTransportClose(){onerror("transport closed")}function onclose(){onerror("socket closed")}function onupgrade(to){transport&&to.name!==transport.name&&(debug('"%s" works - aborting "%s"',to.name,transport.name),freezeTransport())}function cleanup(){transport.removeListener("open",onTransportOpen),transport.removeListener("error",onerror),transport.removeListener("close",onTransportClose),self.removeListener("close",onclose),self.removeListener("upgrading",onupgrade)}debug('probing transport "%s"',name);var transport=this.createTransport(name,{probe:1}),failed=!1,self=this;Socket.priorWebsocketSuccess=!1,transport.once("open",onTransportOpen),transport.once("error",onerror),transport.once("close",onTransportClose),this.once("close",onclose),this.once("upgrading",onupgrade),transport.open()},Socket.prototype.onOpen=function(){if(debug("socket open"),this.readyState="open",Socket.priorWebsocketSuccess="websocket"===this.transport.name,this.emit("open"),this.flush(),"open"===this.readyState&&this.upgrade&&this.transport.pause){debug("starting upgrade probes");for(var i=0,l=this.upgrades.length;i<l;i++)this.probe(this.upgrades[i])}},Socket.prototype.onPacket=function(packet){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState)switch(debug('socket receive: type "%s", data "%s"',packet.type,packet.data),this.emit("packet",packet),this.emit("heartbeat"),packet.type){case"open":this.onHandshake(parsejson(packet.data));break;case"pong":this.setPing(),this.emit("pong");break;case"error":var err=new Error("server error");err.code=packet.data,this.onError(err);break;case"message":this.emit("data",packet.data),this.emit("message",packet.data)}else debug('packet received with socket readyState "%s"',this.readyState)},Socket.prototype.onHandshake=function(data){this.emit("handshake",data),this.id=data.sid,this.transport.query.sid=data.sid,this.upgrades=this.filterUpgrades(data.upgrades),this.pingInterval=data.pingInterval,this.pingTimeout=data.pingTimeout,this.onOpen(),"closed"!==this.readyState&&(this.setPing(),this.removeListener("heartbeat",this.onHeartbeat),this.on("heartbeat",this.onHeartbeat))},Socket.prototype.onHeartbeat=function(timeout){clearTimeout(this.pingTimeoutTimer);var self=this;self.pingTimeoutTimer=setTimeout(function(){"closed"!==self.readyState&&self.onClose("ping timeout")},timeout||self.pingInterval+self.pingTimeout)},Socket.prototype.setPing=function(){var self=this;clearTimeout(self.pingIntervalTimer),self.pingIntervalTimer=setTimeout(function(){debug("writing ping packet - expecting pong within %sms",self.pingTimeout),self.ping(),self.onHeartbeat(self.pingTimeout)},self.pingInterval)},Socket.prototype.ping=function(){var self=this;this.sendPacket("ping",function(){self.emit("ping")})},Socket.prototype.onDrain=function(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,0===this.writeBuffer.length?this.emit("drain"):this.flush()},Socket.prototype.flush=function(){"closed"!==this.readyState&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length&&(debug("flushing %d packets in socket",this.writeBuffer.length),this.transport.send(this.writeBuffer),this.prevBufferLen=this.writeBuffer.length,this.emit("flush"))},Socket.prototype.write=Socket.prototype.send=function(msg,options,fn){return this.sendPacket("message",msg,options,fn),this},Socket.prototype.sendPacket=function(type,data,options,fn){if("function"==typeof data&&(fn=data,data=void 0),"function"==typeof options&&(fn=options,options=null),"closing"!==this.readyState&&"closed"!==this.readyState){options=options||{},options.compress=!1!==options.compress;var packet={type:type,data:data,options:options};this.emit("packetCreate",packet),this.writeBuffer.push(packet),fn&&this.once("flush",fn),this.flush()}},Socket.prototype.close=function(){function close(){self.onClose("forced close"),debug("socket closing - telling transport to close"),self.transport.close()}function cleanupAndClose(){self.removeListener("upgrade",cleanupAndClose),self.removeListener("upgradeError",cleanupAndClose),close()}function waitForUpgrade(){self.once("upgrade",cleanupAndClose),self.once("upgradeError",cleanupAndClose)}if("opening"===this.readyState||"open"===this.readyState){this.readyState="closing";var self=this;this.writeBuffer.length?this.once("drain",function(){this.upgrading?waitForUpgrade():close()}):this.upgrading?waitForUpgrade():close()}return this},Socket.prototype.onError=function(err){debug("socket error %j",err),Socket.priorWebsocketSuccess=!1,this.emit("error",err),this.onClose("transport error",err)},Socket.prototype.onClose=function(reason,desc){if("opening"===this.readyState||"open"===this.readyState||"closing"===this.readyState){debug('socket close with reason: "%s"',reason);var self=this;clearTimeout(this.pingIntervalTimer),clearTimeout(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),this.readyState="closed",this.id=null,this.emit("close",reason,desc),self.writeBuffer=[],self.prevBufferLen=0}},Socket.prototype.filterUpgrades=function(upgrades){for(var filteredUpgrades=[],i=0,j=upgrades.length;i<j;i++)~index(this.transports,upgrades[i])&&filteredUpgrades.push(upgrades[i]);return filteredUpgrades}}).call(exports,__webpack_require__(4))},function(module,exports,__webpack_require__){(function(global){function empty(){}function JSONPPolling(opts){Polling.call(this,opts),this.query=this.query||{},callbacks||(global.___eio||(global.___eio=[]),callbacks=global.___eio),this.index=callbacks.length;var self=this;callbacks.push(function(msg){self.onData(msg)}),this.query.j=this.index,global.document&&global.addEventListener&&global.addEventListener("beforeunload",function(){self.script&&(self.script.onerror=empty)},!1)}var Polling=__webpack_require__(104),inherit=__webpack_require__(40);module.exports=JSONPPolling;var callbacks,rNewline=/\n/g,rEscapedNewline=/\\n/g;inherit(JSONPPolling,Polling),JSONPPolling.prototype.supportsBinary=!1,JSONPPolling.prototype.doClose=function(){this.script&&(this.script.parentNode.removeChild(this.script),this.script=null),this.form&&(this.form.parentNode.removeChild(this.form),this.form=null,this.iframe=null),Polling.prototype.doClose.call(this)},JSONPPolling.prototype.doPoll=function(){var self=this,script=document.createElement("script");this.script&&(this.script.parentNode.removeChild(this.script),this.script=null),script.async=!0,script.src=this.uri(),script.onerror=function(e){self.onError("jsonp poll error",e)};var insertAt=document.getElementsByTagName("script")[0];insertAt?insertAt.parentNode.insertBefore(script,insertAt):(document.head||document.body).appendChild(script),this.script=script;var isUAgecko="undefined"!=typeof navigator&&/gecko/i.test(navigator.userAgent);isUAgecko&&setTimeout(function(){var iframe=document.createElement("iframe");document.body.appendChild(iframe),document.body.removeChild(iframe)},100)},JSONPPolling.prototype.doWrite=function(data,fn){function complete(){initIframe(),fn()}function initIframe(){if(self.iframe)try{self.form.removeChild(self.iframe)}catch(e){self.onError("jsonp polling iframe removal error",e)}try{var html='<iframe src="javascript:0" name="'+self.iframeId+'">';iframe=document.createElement(html)}catch(e){iframe=document.createElement("iframe"),iframe.name=self.iframeId,
+iframe.src="javascript:0"}iframe.id=self.iframeId,self.form.appendChild(iframe),self.iframe=iframe}var self=this;if(!this.form){var iframe,form=document.createElement("form"),area=document.createElement("textarea"),id=this.iframeId="eio_iframe_"+this.index;form.className="socketio",form.style.position="absolute",form.style.top="-1000px",form.style.left="-1000px",form.target=id,form.method="POST",form.setAttribute("accept-charset","utf-8"),area.name="d",form.appendChild(area),document.body.appendChild(form),this.form=form,this.area=area}this.form.action=this.uri(),initIframe(),data=data.replace(rEscapedNewline,"\\\n"),this.area.value=data.replace(rNewline,"\\n");try{this.form.submit()}catch(e){}this.iframe.attachEvent?this.iframe.onreadystatechange=function(){"complete"===self.iframe.readyState&&complete()}:this.iframe.onload=complete}}).call(exports,__webpack_require__(4))},function(module,exports,__webpack_require__){(function(global){function empty(){}function XHR(opts){if(Polling.call(this,opts),this.requestTimeout=opts.requestTimeout,global.location){var isSSL="https:"===location.protocol,port=location.port;port||(port=isSSL?443:80),this.xd=opts.hostname!==global.location.hostname||port!==opts.port,this.xs=opts.secure!==isSSL}else this.extraHeaders=opts.extraHeaders}function Request(opts){this.method=opts.method||"GET",this.uri=opts.uri,this.xd=!!opts.xd,this.xs=!!opts.xs,this.async=!1!==opts.async,this.data=void 0!==opts.data?opts.data:null,this.agent=opts.agent,this.isBinary=opts.isBinary,this.supportsBinary=opts.supportsBinary,this.enablesXDR=opts.enablesXDR,this.requestTimeout=opts.requestTimeout,this.pfx=opts.pfx,this.key=opts.key,this.passphrase=opts.passphrase,this.cert=opts.cert,this.ca=opts.ca,this.ciphers=opts.ciphers,this.rejectUnauthorized=opts.rejectUnauthorized,this.extraHeaders=opts.extraHeaders,this.create()}function unloadHandler(){for(var i in Request.requests)Request.requests.hasOwnProperty(i)&&Request.requests[i].abort()}var XMLHttpRequest=__webpack_require__(59),Polling=__webpack_require__(104),Emitter=__webpack_require__(26),inherit=__webpack_require__(40),debug=__webpack_require__(18)("engine.io-client:polling-xhr");module.exports=XHR,module.exports.Request=Request,inherit(XHR,Polling),XHR.prototype.supportsBinary=!0,XHR.prototype.request=function(opts){return opts=opts||{},opts.uri=this.uri(),opts.xd=this.xd,opts.xs=this.xs,opts.agent=this.agent||!1,opts.supportsBinary=this.supportsBinary,opts.enablesXDR=this.enablesXDR,opts.pfx=this.pfx,opts.key=this.key,opts.passphrase=this.passphrase,opts.cert=this.cert,opts.ca=this.ca,opts.ciphers=this.ciphers,opts.rejectUnauthorized=this.rejectUnauthorized,opts.requestTimeout=this.requestTimeout,opts.extraHeaders=this.extraHeaders,new Request(opts)},XHR.prototype.doWrite=function(data,fn){var isBinary="string"!=typeof data&&void 0!==data,req=this.request({method:"POST",data:data,isBinary:isBinary}),self=this;req.on("success",fn),req.on("error",function(err){self.onError("xhr post error",err)}),this.sendXhr=req},XHR.prototype.doPoll=function(){debug("xhr poll");var req=this.request(),self=this;req.on("data",function(data){self.onData(data)}),req.on("error",function(err){self.onError("xhr poll error",err)}),this.pollXhr=req},Emitter(Request.prototype),Request.prototype.create=function(){var opts={agent:this.agent,xdomain:this.xd,xscheme:this.xs,enablesXDR:this.enablesXDR};opts.pfx=this.pfx,opts.key=this.key,opts.passphrase=this.passphrase,opts.cert=this.cert,opts.ca=this.ca,opts.ciphers=this.ciphers,opts.rejectUnauthorized=this.rejectUnauthorized;var xhr=this.xhr=new XMLHttpRequest(opts),self=this;try{debug("xhr open %s: %s",this.method,this.uri),xhr.open(this.method,this.uri,this.async);try{if(this.extraHeaders){xhr.setDisableHeaderCheck(!0);for(var i in this.extraHeaders)this.extraHeaders.hasOwnProperty(i)&&xhr.setRequestHeader(i,this.extraHeaders[i])}}catch(e){}if(this.supportsBinary&&(xhr.responseType="arraybuffer"),"POST"===this.method)try{this.isBinary?xhr.setRequestHeader("Content-type","application/octet-stream"):xhr.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch(e){}try{xhr.setRequestHeader("Accept","*/*")}catch(e){}"withCredentials"in xhr&&(xhr.withCredentials=!0),this.requestTimeout&&(xhr.timeout=this.requestTimeout),this.hasXDR()?(xhr.onload=function(){self.onLoad()},xhr.onerror=function(){self.onError(xhr.responseText)}):xhr.onreadystatechange=function(){4===xhr.readyState&&(200===xhr.status||1223===xhr.status?self.onLoad():setTimeout(function(){self.onError(xhr.status)},0))},debug("xhr data %s",this.data),xhr.send(this.data)}catch(e){return void setTimeout(function(){self.onError(e)},0)}global.document&&(this.index=Request.requestsCount++,Request.requests[this.index]=this)},Request.prototype.onSuccess=function(){this.emit("success"),this.cleanup()},Request.prototype.onData=function(data){this.emit("data",data),this.onSuccess()},Request.prototype.onError=function(err){this.emit("error",err),this.cleanup(!0)},Request.prototype.cleanup=function(fromError){if("undefined"!=typeof this.xhr&&null!==this.xhr){if(this.hasXDR()?this.xhr.onload=this.xhr.onerror=empty:this.xhr.onreadystatechange=empty,fromError)try{this.xhr.abort()}catch(e){}global.document&&delete Request.requests[this.index],this.xhr=null}},Request.prototype.onLoad=function(){var data;try{var contentType;try{contentType=this.xhr.getResponseHeader("Content-Type").split(";")[0]}catch(e){}if("application/octet-stream"===contentType)data=this.xhr.response||this.xhr.responseText;else if(this.supportsBinary)try{data=String.fromCharCode.apply(null,new Uint8Array(this.xhr.response))}catch(e){for(var ui8Arr=new Uint8Array(this.xhr.response),dataArray=[],idx=0,length=ui8Arr.length;idx<length;idx++)dataArray.push(ui8Arr[idx]);data=String.fromCharCode.apply(null,dataArray)}else data=this.xhr.responseText}catch(e){this.onError(e)}null!=data&&this.onData(data)},Request.prototype.hasXDR=function(){return"undefined"!=typeof global.XDomainRequest&&!this.xs&&this.enablesXDR},Request.prototype.abort=function(){this.cleanup()},Request.requestsCount=0,Request.requests={},global.document&&(global.attachEvent?global.attachEvent("onunload",unloadHandler):global.addEventListener&&global.addEventListener("beforeunload",unloadHandler,!1))}).call(exports,__webpack_require__(4))},function(module,exports,__webpack_require__){(function(global){function WS(opts){var forceBase64=opts&&opts.forceBase64;forceBase64&&(this.supportsBinary=!1),this.perMessageDeflate=opts.perMessageDeflate,this.usingBrowserWebSocket=BrowserWebSocket&&!opts.forceNode,this.usingBrowserWebSocket||(WebSocket=NodeWebSocket),Transport.call(this,opts)}var NodeWebSocket,Transport=__webpack_require__(58),parser=__webpack_require__(21),parseqs=__webpack_require__(60),inherit=__webpack_require__(40),yeast=__webpack_require__(105),debug=__webpack_require__(18)("engine.io-client:websocket"),BrowserWebSocket=global.WebSocket||global.MozWebSocket;if("undefined"==typeof window)try{NodeWebSocket=__webpack_require__(476)}catch(e){}var WebSocket=BrowserWebSocket;WebSocket||"undefined"!=typeof window||(WebSocket=NodeWebSocket),module.exports=WS,inherit(WS,Transport),WS.prototype.name="websocket",WS.prototype.supportsBinary=!0,WS.prototype.doOpen=function(){if(this.check()){var uri=this.uri(),protocols=void 0,opts={agent:this.agent,perMessageDeflate:this.perMessageDeflate};opts.pfx=this.pfx,opts.key=this.key,opts.passphrase=this.passphrase,opts.cert=this.cert,opts.ca=this.ca,opts.ciphers=this.ciphers,opts.rejectUnauthorized=this.rejectUnauthorized,this.extraHeaders&&(opts.headers=this.extraHeaders),this.localAddress&&(opts.localAddress=this.localAddress);try{this.ws=this.usingBrowserWebSocket?new WebSocket(uri):new WebSocket(uri,protocols,opts)}catch(err){return this.emit("error",err)}void 0===this.ws.binaryType&&(this.supportsBinary=!1),this.ws.supports&&this.ws.supports.binary?(this.supportsBinary=!0,this.ws.binaryType="nodebuffer"):this.ws.binaryType="arraybuffer",this.addEventListeners()}},WS.prototype.addEventListeners=function(){var self=this;this.ws.onopen=function(){self.onOpen()},this.ws.onclose=function(){self.onClose()},this.ws.onmessage=function(ev){self.onData(ev.data)},this.ws.onerror=function(e){self.onError("websocket error",e)}},WS.prototype.write=function(packets){function done(){self.emit("flush"),setTimeout(function(){self.writable=!0,self.emit("drain")},0)}var self=this;this.writable=!1;for(var total=packets.length,i=0,l=total;i<l;i++)!function(packet){parser.encodePacket(packet,self.supportsBinary,function(data){if(!self.usingBrowserWebSocket){var opts={};if(packet.options&&(opts.compress=packet.options.compress),self.perMessageDeflate){var len="string"==typeof data?global.Buffer.byteLength(data):data.length;len<self.perMessageDeflate.threshold&&(opts.compress=!1)}}try{self.usingBrowserWebSocket?self.ws.send(data):self.ws.send(data,opts)}catch(e){debug("websocket closed before onclose event")}--total||done()})}(packets[i])},WS.prototype.onClose=function(){Transport.prototype.onClose.call(this)},WS.prototype.doClose=function(){"undefined"!=typeof this.ws&&this.ws.close()},WS.prototype.uri=function(){var query=this.query||{},schema=this.secure?"wss":"ws",port="";this.port&&("wss"===schema&&443!==Number(this.port)||"ws"===schema&&80!==Number(this.port))&&(port=":"+this.port),this.timestampRequests&&(query[this.timestampParam]=yeast()),this.supportsBinary||(query.b64=1),query=parseqs.encode(query),query.length&&(query="?"+query);var ipv6=this.hostname.indexOf(":")!==-1;return schema+"://"+(ipv6?"["+this.hostname+"]":this.hostname)+port+this.path+query},WS.prototype.check=function(){return!(!WebSocket||"__initialize"in WebSocket&&this.name===WS.prototype.name)}}).call(exports,__webpack_require__(4))},function(module,exports){module.exports=Object.keys||function(obj){var arr=[],has=Object.prototype.hasOwnProperty;for(var i in obj)has.call(obj,i)&&arr.push(i);return arr}},function(module,exports){function after(count,callback,err_cb){function proxy(err,result){if(proxy.count<=0)throw new Error("after called too many times");--proxy.count,err?(bail=!0,callback(err),callback=err_cb):0!==proxy.count||bail||callback(null,result)}var bail=!1;return err_cb=err_cb||noop,proxy.count=count,0===count?callback():proxy}function noop(){}module.exports=after},function(module,exports){module.exports=function(arraybuffer,start,end){var bytes=arraybuffer.byteLength;if(start=start||0,end=end||bytes,arraybuffer.slice)return arraybuffer.slice(start,end);if(start<0&&(start+=bytes),end<0&&(end+=bytes),end>bytes&&(end=bytes),start>=bytes||start>=end||0===bytes)return new ArrayBuffer(0);for(var abv=new Uint8Array(arraybuffer),result=new Uint8Array(end-start),i=start,ii=0;i<end;i++,ii++)result[ii]=abv[i];return result.buffer}},function(module,exports){!function(){"use strict";for(var chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",lookup=new Uint8Array(256),i=0;i<chars.length;i++)lookup[chars.charCodeAt(i)]=i;exports.encode=function(arraybuffer){var i,bytes=new Uint8Array(arraybuffer),len=bytes.length,base64="";for(i=0;i<len;i+=3)base64+=chars[bytes[i]>>2],base64+=chars[(3&bytes[i])<<4|bytes[i+1]>>4],base64+=chars[(15&bytes[i+1])<<2|bytes[i+2]>>6],base64+=chars[63&bytes[i+2]];return len%3===2?base64=base64.substring(0,base64.length-1)+"=":len%3===1&&(base64=base64.substring(0,base64.length-2)+"=="),base64},exports.decode=function(base64){var i,encoded1,encoded2,encoded3,encoded4,bufferLength=.75*base64.length,len=base64.length,p=0;"="===base64[base64.length-1]&&(bufferLength--,"="===base64[base64.length-2]&&bufferLength--);var arraybuffer=new ArrayBuffer(bufferLength),bytes=new Uint8Array(arraybuffer);for(i=0;i<len;i+=4)encoded1=lookup[base64.charCodeAt(i)],encoded2=lookup[base64.charCodeAt(i+1)],encoded3=lookup[base64.charCodeAt(i+2)],encoded4=lookup[base64.charCodeAt(i+3)],bytes[p++]=encoded1<<2|encoded2>>4,bytes[p++]=(15&encoded2)<<4|encoded3>>2,bytes[p++]=(3&encoded3)<<6|63&encoded4;return arraybuffer}}()},function(module,exports,__webpack_require__){(function(global){function mapArrayBufferViews(ary){for(var i=0;i<ary.length;i++){var chunk=ary[i];if(chunk.buffer instanceof ArrayBuffer){var buf=chunk.buffer;if(chunk.byteLength!==buf.byteLength){var copy=new Uint8Array(chunk.byteLength);copy.set(new Uint8Array(buf,chunk.byteOffset,chunk.byteLength)),buf=copy.buffer}ary[i]=buf}}}function BlobBuilderConstructor(ary,options){options=options||{};var bb=new BlobBuilder;mapArrayBufferViews(ary);for(var i=0;i<ary.length;i++)bb.append(ary[i]);return options.type?bb.getBlob(options.type):bb.getBlob()}function BlobConstructor(ary,options){return mapArrayBufferViews(ary),new Blob(ary,options||{})}var BlobBuilder=global.BlobBuilder||global.WebKitBlobBuilder||global.MSBlobBuilder||global.MozBlobBuilder,blobSupported=function(){try{var a=new Blob(["hi"]);return 2===a.size}catch(e){return!1}}(),blobSupportsArrayBufferView=blobSupported&&function(){try{var b=new Blob([new Uint8Array([1,2])]);return 2===b.size}catch(e){return!1}}(),blobBuilderSupported=BlobBuilder&&BlobBuilder.prototype.append&&BlobBuilder.prototype.getBlob;module.exports=function(){return blobSupported?blobSupportsArrayBufferView?global.Blob:BlobConstructor:blobBuilderSupported?BlobBuilderConstructor:void 0}()}).call(exports,__webpack_require__(4))},function(module,exports,__webpack_require__){(function(module,global){var __WEBPACK_AMD_DEFINE_RESULT__;!function(root){function ucs2decode(string){for(var value,extra,output=[],counter=0,length=string.length;counter<length;)value=string.charCodeAt(counter++),value>=55296&&value<=56319&&counter<length?(extra=string.charCodeAt(counter++),56320==(64512&extra)?output.push(((1023&value)<<10)+(1023&extra)+65536):(output.push(value),counter--)):output.push(value);return output}function ucs2encode(array){for(var value,length=array.length,index=-1,output="";++index<length;)value=array[index],value>65535&&(value-=65536,output+=stringFromCharCode(value>>>10&1023|55296),value=56320|1023&value),output+=stringFromCharCode(value);return output}function createByte(codePoint,shift){return stringFromCharCode(codePoint>>shift&63|128)}function encodeCodePoint(codePoint){if(0==(4294967168&codePoint))return stringFromCharCode(codePoint);var symbol="";return 0==(4294965248&codePoint)?symbol=stringFromCharCode(codePoint>>6&31|192):0==(4294901760&codePoint)?(symbol=stringFromCharCode(codePoint>>12&15|224),symbol+=createByte(codePoint,6)):0==(4292870144&codePoint)&&(symbol=stringFromCharCode(codePoint>>18&7|240),symbol+=createByte(codePoint,12),symbol+=createByte(codePoint,6)),symbol+=stringFromCharCode(63&codePoint|128)}function wtf8encode(string){for(var codePoint,codePoints=ucs2decode(string),length=codePoints.length,index=-1,byteString="";++index<length;)codePoint=codePoints[index],byteString+=encodeCodePoint(codePoint);return byteString}function readContinuationByte(){if(byteIndex>=byteCount)throw Error("Invalid byte index");var continuationByte=255&byteArray[byteIndex];if(byteIndex++,128==(192&continuationByte))return 63&continuationByte;throw Error("Invalid continuation byte")}function decodeSymbol(){var byte1,byte2,byte3,byte4,codePoint;if(byteIndex>byteCount)throw Error("Invalid byte index");if(byteIndex==byteCount)return!1;if(byte1=255&byteArray[byteIndex],byteIndex++,0==(128&byte1))return byte1;if(192==(224&byte1)){var byte2=readContinuationByte();if(codePoint=(31&byte1)<<6|byte2,codePoint>=128)return codePoint;throw Error("Invalid continuation byte")}if(224==(240&byte1)){if(byte2=readContinuationByte(),byte3=readContinuationByte(),codePoint=(15&byte1)<<12|byte2<<6|byte3,codePoint>=2048)return codePoint;throw Error("Invalid continuation byte")}if(240==(248&byte1)&&(byte2=readContinuationByte(),byte3=readContinuationByte(),byte4=readContinuationByte(),codePoint=(15&byte1)<<18|byte2<<12|byte3<<6|byte4,codePoint>=65536&&codePoint<=1114111))return codePoint;throw Error("Invalid WTF-8 detected")}function wtf8decode(byteString){byteArray=ucs2decode(byteString),byteCount=byteArray.length,byteIndex=0;for(var tmp,codePoints=[];(tmp=decodeSymbol())!==!1;)codePoints.push(tmp);return ucs2encode(codePoints)}var freeExports="object"==typeof exports&&exports,freeGlobal=("object"==typeof module&&module&&module.exports==freeExports&&module,"object"==typeof global&&global);freeGlobal.global!==freeGlobal&&freeGlobal.window!==freeGlobal||(root=freeGlobal);var byteArray,byteCount,byteIndex,stringFromCharCode=String.fromCharCode,wtf8={version:"1.0.0",encode:wtf8encode,decode:wtf8decode};__WEBPACK_AMD_DEFINE_RESULT__=function(){return wtf8}.call(exports,__webpack_require__,exports,module),!(void 0!==__WEBPACK_AMD_DEFINE_RESULT__&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__))}(this)}).call(exports,__webpack_require__(41)(module),__webpack_require__(4))},function(module,exports){try{module.exports="undefined"!=typeof XMLHttpRequest&&"withCredentials"in new XMLHttpRequest}catch(err){module.exports=!1}},function(module,exports,__webpack_require__){(function(global){var rvalidchars=/^[\],:{}\s]*$/,rvalidescape=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,rvalidtokens=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,rvalidbraces=/(?:^|:|,)(?:\s*\[)+/g,rtrimLeft=/^\s+/,rtrimRight=/\s+$/;module.exports=function(data){return"string"==typeof data&&data?(data=data.replace(rtrimLeft,"").replace(rtrimRight,""),global.JSON&&JSON.parse?JSON.parse(data):rvalidchars.test(data.replace(rvalidescape,"@").replace(rvalidtokens,"]").replace(rvalidbraces,""))?new Function("return "+data)():void 0):null}}).call(exports,__webpack_require__(4))},function(module,exports){module.exports=Array.isArray||function(arr){return"[object Array]"==Object.prototype.toString.call(arr)}},function(module,exports,__webpack_require__){(function(global){var isArray=__webpack_require__(449),isBuf=__webpack_require__(109);exports.deconstructPacket=function(packet){function _deconstructPacket(data){if(!data)return data;if(isBuf(data)){var placeholder={_placeholder:!0,num:buffers.length};return buffers.push(data),placeholder}if(isArray(data)){for(var newData=new Array(data.length),i=0;i<data.length;i++)newData[i]=_deconstructPacket(data[i]);return newData}if("object"==typeof data&&!(data instanceof Date)){var newData={};for(var key in data)newData[key]=_deconstructPacket(data[key]);return newData}return data}var buffers=[],packetData=packet.data,pack=packet;return pack.data=_deconstructPacket(packetData),pack.attachments=buffers.length,{packet:pack,buffers:buffers}},exports.reconstructPacket=function(packet,buffers){function _reconstructPacket(data){if(data&&data._placeholder){var buf=buffers[data.num];return buf}if(isArray(data)){for(var i=0;i<data.length;i++)data[i]=_reconstructPacket(data[i]);return data}if(data&&"object"==typeof data){for(var key in data)data[key]=_reconstructPacket(data[key]);return data}return data}return packet.data=_reconstructPacket(packet.data),packet.attachments=void 0,packet},exports.removeBlobs=function(data,callback){function _removeBlobs(obj,curKey,containingObject){if(!obj)return obj;if(global.Blob&&obj instanceof Blob||global.File&&obj instanceof File){pendingBlobs++;var fileReader=new FileReader;fileReader.onload=function(){containingObject?containingObject[curKey]=this.result:bloblessData=this.result,--pendingBlobs||callback(bloblessData)},fileReader.readAsArrayBuffer(obj)}else if(isArray(obj))for(var i=0;i<obj.length;i++)_removeBlobs(obj[i],i,obj);else if(obj&&"object"==typeof obj&&!isBuf(obj))for(var key in obj)_removeBlobs(obj[key],key,obj)}var pendingBlobs=0,bloblessData=data;_removeBlobs(bloblessData),pendingBlobs||callback(bloblessData)}}).call(exports,__webpack_require__(4))},function(module,exports){function Emitter(obj){if(obj)return mixin(obj)}function mixin(obj){for(var key in Emitter.prototype)obj[key]=Emitter.prototype[key];return obj}module.exports=Emitter,Emitter.prototype.on=Emitter.prototype.addEventListener=function(event,fn){return this._callbacks=this._callbacks||{},(this._callbacks[event]=this._callbacks[event]||[]).push(fn),this},Emitter.prototype.once=function(event,fn){function on(){self.off(event,on),fn.apply(this,arguments)}var self=this;return this._callbacks=this._callbacks||{},on.fn=fn,this.on(event,on),this},Emitter.prototype.off=Emitter.prototype.removeListener=Emitter.prototype.removeAllListeners=Emitter.prototype.removeEventListener=function(event,fn){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var callbacks=this._callbacks[event];if(!callbacks)return this;if(1==arguments.length)return delete this._callbacks[event],this;for(var cb,i=0;i<callbacks.length;i++)if(cb=callbacks[i],cb===fn||cb.fn===fn){callbacks.splice(i,1);break}return this},Emitter.prototype.emit=function(event){this._callbacks=this._callbacks||{};var args=[].slice.call(arguments,1),callbacks=this._callbacks[event];if(callbacks){callbacks=callbacks.slice(0);for(var i=0,len=callbacks.length;i<len;++i)callbacks[i].apply(this,args)}return this},Emitter.prototype.listeners=function(event){return this._callbacks=this._callbacks||{},this._callbacks[event]||[]},Emitter.prototype.hasListeners=function(event){return!!this.listeners(event).length}},function(module,exports,__webpack_require__){function useColors(){return"WebkitAppearance"in document.documentElement.style||window.console&&(console.firebug||console.exception&&console.table)||navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31}function formatArgs(){var args=arguments,useColors=this.useColors;if(args[0]=(useColors?"%c":"")+this.namespace+(useColors?" %c":" ")+args[0]+(useColors?"%c ":" ")+"+"+exports.humanize(this.diff),!useColors)return args;var c="color: "+this.color;args=[args[0],c,"color: inherit"].concat(Array.prototype.slice.call(args,1));var index=0,lastC=0;return args[0].replace(/%[a-z%]/g,function(match){"%%"!==match&&(index++,"%c"===match&&(lastC=index))}),args.splice(lastC,0,c),args}function log(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)}function save(namespaces){try{null==namespaces?exports.storage.removeItem("debug"):exports.storage.debug=namespaces}catch(e){}}function load(){var r;try{r=exports.storage.debug}catch(e){}return r}function localstorage(){try{return window.localStorage}catch(e){}}exports=module.exports=__webpack_require__(447),exports.log=log,exports.formatArgs=formatArgs,exports.save=save,exports.load=load,exports.useColors=useColors,exports.storage="undefined"!=typeof chrome&&"undefined"!=typeof chrome.storage?chrome.storage.local:localstorage(),exports.colors=["lightseagreen","forestgreen","goldenrod","dodgerblue","darkorchid","crimson"],exports.formatters.j=function(v){return JSON.stringify(v)},exports.enable(load())},function(module,exports,__webpack_require__){function selectColor(){return exports.colors[prevColor++%exports.colors.length]}function debug(namespace){function disabled(){}function enabled(){var self=enabled,curr=+new Date,ms=curr-(prevTime||curr);self.diff=ms,self.prev=prevTime,self.curr=curr,prevTime=curr,null==self.useColors&&(self.useColors=exports.useColors()),null==self.color&&self.useColors&&(self.color=selectColor());var args=Array.prototype.slice.call(arguments);args[0]=exports.coerce(args[0]),"string"!=typeof args[0]&&(args=["%o"].concat(args));var index=0;args[0]=args[0].replace(/%([a-z%])/g,function(match,format){if("%%"===match)return match;index++;var formatter=exports.formatters[format];if("function"==typeof formatter){var val=args[index];match=formatter.call(self,val),args.splice(index,1),index--}return match}),"function"==typeof exports.formatArgs&&(args=exports.formatArgs.apply(self,args));var logFn=enabled.log||exports.log||console.log.bind(console);logFn.apply(self,args)}disabled.enabled=!1,enabled.enabled=!0;var fn=exports.enabled(namespace)?enabled:disabled;return fn.namespace=namespace,fn}function enable(namespaces){exports.save(namespaces);for(var split=(namespaces||"").split(/[\s,]+/),len=split.length,i=0;i<len;i++)split[i]&&(namespaces=split[i].replace(/\*/g,".*?"),"-"===namespaces[0]?exports.skips.push(new RegExp("^"+namespaces.substr(1)+"$")):exports.names.push(new RegExp("^"+namespaces+"$")))}function disable(){exports.enable("")}function enabled(name){var i,len;for(i=0,len=exports.skips.length;i<len;i++)if(exports.skips[i].test(name))return!1;for(i=0,len=exports.names.length;i<len;i++)if(exports.names[i].test(name))return!0;return!1}function coerce(val){return val instanceof Error?val.stack||val.message:val}exports=module.exports=debug,exports.coerce=coerce,exports.disable=disable,exports.enable=enable,exports.enabled=enabled,exports.humanize=__webpack_require__(448),exports.names=[],exports.skips=[],exports.formatters={};var prevTime,prevColor=0},function(module,exports){function parse(str){if(str=""+str,!(str.length>1e4)){var match=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(str);if(match){var n=parseFloat(match[1]),type=(match[2]||"ms").toLowerCase();switch(type){case"years":case"year":case"yrs":case"yr":case"y":return n*y;case"days":case"day":case"d":return n*d;case"hours":case"hour":case"hrs":case"hr":case"h":return n*h;case"minutes":case"minute":case"mins":case"min":case"m":return n*m;case"seconds":case"second":case"secs":case"sec":case"s":return n*s;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n}}}}function short(ms){return ms>=d?Math.round(ms/d)+"d":ms>=h?Math.round(ms/h)+"h":ms>=m?Math.round(ms/m)+"m":ms>=s?Math.round(ms/s)+"s":ms+"ms"}function long(ms){return plural(ms,d,"day")||plural(ms,h,"hour")||plural(ms,m,"minute")||plural(ms,s,"second")||ms+" ms"}function plural(ms,n,name){if(!(ms<n))return ms<1.5*n?Math.floor(ms/n)+" "+name:Math.ceil(ms/n)+" "+name+"s"}var s=1e3,m=60*s,h=60*m,d=24*h,y=365.25*d;module.exports=function(val,options){return options=options||{},"string"==typeof val?parse(val):options["long"]?long(val):short(val)}},function(module,exports){module.exports=Array.isArray||function(arr){return"[object Array]"==Object.prototype.toString.call(arr)}},function(module,exports,__webpack_require__){(function(module,global){var __WEBPACK_AMD_DEFINE_RESULT__;(function(){function runInContext(context,exports){function has(name){if(has[name]!==undef)return has[name];var isSupported;if("bug-string-char-index"==name)isSupported="a"!="a"[0];else if("json"==name)isSupported=has("json-stringify")&&has("json-parse");else{var value,serialized='{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}';if("json-stringify"==name){var stringify=exports.stringify,stringifySupported="function"==typeof stringify&&isExtended;if(stringifySupported){(value=function(){return 1}).toJSON=value;try{stringifySupported="0"===stringify(0)&&"0"===stringify(new Number)&&'""'==stringify(new String)&&stringify(getClass)===undef&&stringify(undef)===undef&&stringify()===undef&&"1"===stringify(value)&&"[1]"==stringify([value])&&"[null]"==stringify([undef])&&"null"==stringify(null)&&"[null,null,null]"==stringify([undef,getClass,null])&&stringify({a:[value,!0,!1,null,"\0\b\n\f\r\t"]})==serialized&&"1"===stringify(null,value)&&"[\n 1,\n 2\n]"==stringify([1,2],null,1)&&'"-271821-04-20T00:00:00.000Z"'==stringify(new Date((-864e13)))&&'"+275760-09-13T00:00:00.000Z"'==stringify(new Date(864e13))&&'"-000001-01-01T00:00:00.000Z"'==stringify(new Date((-621987552e5)))&&'"1969-12-31T23:59:59.999Z"'==stringify(new Date((-1)))}catch(exception){stringifySupported=!1}}isSupported=stringifySupported}if("json-parse"==name){var parse=exports.parse;if("function"==typeof parse)try{if(0===parse("0")&&!parse(!1)){value=parse(serialized);var parseSupported=5==value.a.length&&1===value.a[0];if(parseSupported){try{parseSupported=!parse('"\t"')}catch(exception){}if(parseSupported)try{parseSupported=1!==parse("01")}catch(exception){}if(parseSupported)try{parseSupported=1!==parse("1.")}catch(exception){}}}}catch(exception){parseSupported=!1}isSupported=parseSupported}}return has[name]=!!isSupported}context||(context=root.Object()),exports||(exports=root.Object());var Number=context.Number||root.Number,String=context.String||root.String,Object=context.Object||root.Object,Date=context.Date||root.Date,SyntaxError=context.SyntaxError||root.SyntaxError,TypeError=context.TypeError||root.TypeError,Math=context.Math||root.Math,nativeJSON=context.JSON||root.JSON;"object"==typeof nativeJSON&&nativeJSON&&(exports.stringify=nativeJSON.stringify,exports.parse=nativeJSON.parse);var isProperty,forEach,undef,objectProto=Object.prototype,getClass=objectProto.toString,isExtended=new Date((-0xc782b5b800cec));try{isExtended=isExtended.getUTCFullYear()==-109252&&0===isExtended.getUTCMonth()&&1===isExtended.getUTCDate()&&10==isExtended.getUTCHours()&&37==isExtended.getUTCMinutes()&&6==isExtended.getUTCSeconds()&&708==isExtended.getUTCMilliseconds()}catch(exception){}if(!has("json")){var functionClass="[object Function]",dateClass="[object Date]",numberClass="[object Number]",stringClass="[object String]",arrayClass="[object Array]",booleanClass="[object Boolean]",charIndexBuggy=has("bug-string-char-index");if(!isExtended)var floor=Math.floor,Months=[0,31,59,90,120,151,181,212,243,273,304,334],getDay=function(year,month){return Months[month]+365*(year-1970)+floor((year-1969+(month=+(month>1)))/4)-floor((year-1901+month)/100)+floor((year-1601+month)/400)};if((isProperty=objectProto.hasOwnProperty)||(isProperty=function(property){var constructor,members={};return(members.__proto__=null,members.__proto__={toString:1},members).toString!=getClass?isProperty=function(property){var original=this.__proto__,result=property in(this.__proto__=null,this);return this.__proto__=original,result}:(constructor=members.constructor,isProperty=function(property){var parent=(this.constructor||constructor).prototype;return property in this&&!(property in parent&&this[property]===parent[property])}),members=null,isProperty.call(this,property)}),forEach=function(object,callback){var Properties,members,property,size=0;(Properties=function(){this.valueOf=0}).prototype.valueOf=0,members=new Properties;for(property in members)isProperty.call(members,property)&&size++;return Properties=members=null,size?forEach=2==size?function(object,callback){var property,members={},isFunction=getClass.call(object)==functionClass;for(property in object)isFunction&&"prototype"==property||isProperty.call(members,property)||!(members[property]=1)||!isProperty.call(object,property)||callback(property)}:function(object,callback){var property,isConstructor,isFunction=getClass.call(object)==functionClass;for(property in object)isFunction&&"prototype"==property||!isProperty.call(object,property)||(isConstructor="constructor"===property)||callback(property);(isConstructor||isProperty.call(object,property="constructor"))&&callback(property)}:(members=["valueOf","toString","toLocaleString","propertyIsEnumerable","isPrototypeOf","hasOwnProperty","constructor"],forEach=function(object,callback){var property,length,isFunction=getClass.call(object)==functionClass,hasProperty=!isFunction&&"function"!=typeof object.constructor&&objectTypes[typeof object.hasOwnProperty]&&object.hasOwnProperty||isProperty;for(property in object)isFunction&&"prototype"==property||!hasProperty.call(object,property)||callback(property);for(length=members.length;property=members[--length];hasProperty.call(object,property)&&callback(property));}),forEach(object,callback)},!has("json-stringify")){var Escapes={92:"\\\\",34:'\\"',8:"\\b",12:"\\f",10:"\\n",13:"\\r",9:"\\t"},leadingZeroes="000000",toPaddedString=function(width,value){return(leadingZeroes+(value||0)).slice(-width)},unicodePrefix="\\u00",quote=function(value){for(var result='"',index=0,length=value.length,useCharIndex=!charIndexBuggy||length>10,symbols=useCharIndex&&(charIndexBuggy?value.split(""):value);index<length;index++){var charCode=value.charCodeAt(index);
+switch(charCode){case 8:case 9:case 10:case 12:case 13:case 34:case 92:result+=Escapes[charCode];break;default:if(charCode<32){result+=unicodePrefix+toPaddedString(2,charCode.toString(16));break}result+=useCharIndex?symbols[index]:value.charAt(index)}}return result+'"'},serialize=function(property,object,callback,properties,whitespace,indentation,stack){var value,className,year,month,date,time,hours,minutes,seconds,milliseconds,results,element,index,length,prefix,result;try{value=object[property]}catch(exception){}if("object"==typeof value&&value)if(className=getClass.call(value),className!=dateClass||isProperty.call(value,"toJSON"))"function"==typeof value.toJSON&&(className!=numberClass&&className!=stringClass&&className!=arrayClass||isProperty.call(value,"toJSON"))&&(value=value.toJSON(property));else if(value>-1/0&&value<1/0){if(getDay){for(date=floor(value/864e5),year=floor(date/365.2425)+1970-1;getDay(year+1,0)<=date;year++);for(month=floor((date-getDay(year,0))/30.42);getDay(year,month+1)<=date;month++);date=1+date-getDay(year,month),time=(value%864e5+864e5)%864e5,hours=floor(time/36e5)%24,minutes=floor(time/6e4)%60,seconds=floor(time/1e3)%60,milliseconds=time%1e3}else year=value.getUTCFullYear(),month=value.getUTCMonth(),date=value.getUTCDate(),hours=value.getUTCHours(),minutes=value.getUTCMinutes(),seconds=value.getUTCSeconds(),milliseconds=value.getUTCMilliseconds();value=(year<=0||year>=1e4?(year<0?"-":"+")+toPaddedString(6,year<0?-year:year):toPaddedString(4,year))+"-"+toPaddedString(2,month+1)+"-"+toPaddedString(2,date)+"T"+toPaddedString(2,hours)+":"+toPaddedString(2,minutes)+":"+toPaddedString(2,seconds)+"."+toPaddedString(3,milliseconds)+"Z"}else value=null;if(callback&&(value=callback.call(object,property,value)),null===value)return"null";if(className=getClass.call(value),className==booleanClass)return""+value;if(className==numberClass)return value>-1/0&&value<1/0?""+value:"null";if(className==stringClass)return quote(""+value);if("object"==typeof value){for(length=stack.length;length--;)if(stack[length]===value)throw TypeError();if(stack.push(value),results=[],prefix=indentation,indentation+=whitespace,className==arrayClass){for(index=0,length=value.length;index<length;index++)element=serialize(index,value,callback,properties,whitespace,indentation,stack),results.push(element===undef?"null":element);result=results.length?whitespace?"[\n"+indentation+results.join(",\n"+indentation)+"\n"+prefix+"]":"["+results.join(",")+"]":"[]"}else forEach(properties||value,function(property){var element=serialize(property,value,callback,properties,whitespace,indentation,stack);element!==undef&&results.push(quote(property)+":"+(whitespace?" ":"")+element)}),result=results.length?whitespace?"{\n"+indentation+results.join(",\n"+indentation)+"\n"+prefix+"}":"{"+results.join(",")+"}":"{}";return stack.pop(),result}};exports.stringify=function(source,filter,width){var whitespace,callback,properties,className;if(objectTypes[typeof filter]&&filter)if((className=getClass.call(filter))==functionClass)callback=filter;else if(className==arrayClass){properties={};for(var value,index=0,length=filter.length;index<length;value=filter[index++],className=getClass.call(value),(className==stringClass||className==numberClass)&&(properties[value]=1));}if(width)if((className=getClass.call(width))==numberClass){if((width-=width%1)>0)for(whitespace="",width>10&&(width=10);whitespace.length<width;whitespace+=" ");}else className==stringClass&&(whitespace=width.length<=10?width:width.slice(0,10));return serialize("",(value={},value[""]=source,value),callback,properties,whitespace,"",[])}}if(!has("json-parse")){var Index,Source,fromCharCode=String.fromCharCode,Unescapes={92:"\\",34:'"',47:"/",98:"\b",116:"\t",110:"\n",102:"\f",114:"\r"},abort=function(){throw Index=Source=null,SyntaxError()},lex=function(){for(var value,begin,position,isSigned,charCode,source=Source,length=source.length;Index<length;)switch(charCode=source.charCodeAt(Index)){case 9:case 10:case 13:case 32:Index++;break;case 123:case 125:case 91:case 93:case 58:case 44:return value=charIndexBuggy?source.charAt(Index):source[Index],Index++,value;case 34:for(value="@",Index++;Index<length;)if(charCode=source.charCodeAt(Index),charCode<32)abort();else if(92==charCode)switch(charCode=source.charCodeAt(++Index)){case 92:case 34:case 47:case 98:case 116:case 110:case 102:case 114:value+=Unescapes[charCode],Index++;break;case 117:for(begin=++Index,position=Index+4;Index<position;Index++)charCode=source.charCodeAt(Index),charCode>=48&&charCode<=57||charCode>=97&&charCode<=102||charCode>=65&&charCode<=70||abort();value+=fromCharCode("0x"+source.slice(begin,Index));break;default:abort()}else{if(34==charCode)break;for(charCode=source.charCodeAt(Index),begin=Index;charCode>=32&&92!=charCode&&34!=charCode;)charCode=source.charCodeAt(++Index);value+=source.slice(begin,Index)}if(34==source.charCodeAt(Index))return Index++,value;abort();default:if(begin=Index,45==charCode&&(isSigned=!0,charCode=source.charCodeAt(++Index)),charCode>=48&&charCode<=57){for(48==charCode&&(charCode=source.charCodeAt(Index+1),charCode>=48&&charCode<=57)&&abort(),isSigned=!1;Index<length&&(charCode=source.charCodeAt(Index),charCode>=48&&charCode<=57);Index++);if(46==source.charCodeAt(Index)){for(position=++Index;position<length&&(charCode=source.charCodeAt(position),charCode>=48&&charCode<=57);position++);position==Index&&abort(),Index=position}if(charCode=source.charCodeAt(Index),101==charCode||69==charCode){for(charCode=source.charCodeAt(++Index),43!=charCode&&45!=charCode||Index++,position=Index;position<length&&(charCode=source.charCodeAt(position),charCode>=48&&charCode<=57);position++);position==Index&&abort(),Index=position}return+source.slice(begin,Index)}if(isSigned&&abort(),"true"==source.slice(Index,Index+4))return Index+=4,!0;if("false"==source.slice(Index,Index+5))return Index+=5,!1;if("null"==source.slice(Index,Index+4))return Index+=4,null;abort()}return"$"},get=function(value){var results,hasMembers;if("$"==value&&abort(),"string"==typeof value){if("@"==(charIndexBuggy?value.charAt(0):value[0]))return value.slice(1);if("["==value){for(results=[];value=lex(),"]"!=value;hasMembers||(hasMembers=!0))hasMembers&&(","==value?(value=lex(),"]"==value&&abort()):abort()),","==value&&abort(),results.push(get(value));return results}if("{"==value){for(results={};value=lex(),"}"!=value;hasMembers||(hasMembers=!0))hasMembers&&(","==value?(value=lex(),"}"==value&&abort()):abort()),","!=value&&"string"==typeof value&&"@"==(charIndexBuggy?value.charAt(0):value[0])&&":"==lex()||abort(),results[value.slice(1)]=get(lex());return results}abort()}return value},update=function(source,property,callback){var element=walk(source,property,callback);element===undef?delete source[property]:source[property]=element},walk=function(source,property,callback){var length,value=source[property];if("object"==typeof value&&value)if(getClass.call(value)==arrayClass)for(length=value.length;length--;)update(value,length,callback);else forEach(value,function(property){update(value,property,callback)});return callback.call(source,property,value)};exports.parse=function(source,callback){var result,value;return Index=0,Source=""+source,result=get(lex()),"$"!=lex()&&abort(),Index=Source=null,callback&&getClass.call(callback)==functionClass?walk((value={},value[""]=result,value),"",callback):result}}}return exports.runInContext=runInContext,exports}var isLoader=__webpack_require__(452),objectTypes={"function":!0,object:!0},freeExports=objectTypes[typeof exports]&&exports&&!exports.nodeType&&exports,root=objectTypes[typeof window]&&window||this,freeGlobal=freeExports&&objectTypes[typeof module]&&module&&!module.nodeType&&"object"==typeof global&&global;if(!freeGlobal||freeGlobal.global!==freeGlobal&&freeGlobal.window!==freeGlobal&&freeGlobal.self!==freeGlobal||(root=freeGlobal),freeExports&&!isLoader)runInContext(root,freeExports);else{var nativeJSON=root.JSON,previousJSON=root.JSON3,isRestored=!1,JSON3=runInContext(root,root.JSON3={noConflict:function(){return isRestored||(isRestored=!0,root.JSON=nativeJSON,root.JSON3=previousJSON,nativeJSON=previousJSON=null),JSON3}});root.JSON={parse:JSON3.parse,stringify:JSON3.stringify}}isLoader&&(__WEBPACK_AMD_DEFINE_RESULT__=function(){return JSON3}.call(exports,__webpack_require__,exports,module),!(void 0!==__WEBPACK_AMD_DEFINE_RESULT__&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__)))}).call(this)}).call(exports,__webpack_require__(41)(module),__webpack_require__(4))},function(module,exports){function toArray(list,index){var array=[];index=index||0;for(var i=index||0;i<list.length;i++)array[i-index]=list[i];return array}module.exports=toArray},function(module,exports){(function(__webpack_amd_options__){module.exports=__webpack_amd_options__}).call(exports,{})},function(module,exports){"use strict";function placeHoldersCount(b64){var len=b64.length;if(len%4>0)throw new Error("Invalid string. Length must be a multiple of 4");return"="===b64[len-2]?2:"="===b64[len-1]?1:0}function byteLength(b64){return 3*b64.length/4-placeHoldersCount(b64)}function toByteArray(b64){var i,j,l,tmp,placeHolders,arr,len=b64.length;placeHolders=placeHoldersCount(b64),arr=new Arr(3*len/4-placeHolders),l=placeHolders>0?len-4:len;var L=0;for(i=0,j=0;i<l;i+=4,j+=3)tmp=revLookup[b64.charCodeAt(i)]<<18|revLookup[b64.charCodeAt(i+1)]<<12|revLookup[b64.charCodeAt(i+2)]<<6|revLookup[b64.charCodeAt(i+3)],arr[L++]=tmp>>16&255,arr[L++]=tmp>>8&255,arr[L++]=255&tmp;return 2===placeHolders?(tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4,arr[L++]=255&tmp):1===placeHolders&&(tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2,arr[L++]=tmp>>8&255,arr[L++]=255&tmp),arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[63&num]}function encodeChunk(uint8,start,end){for(var tmp,output=[],i=start;i<end;i+=3)tmp=(uint8[i]<<16)+(uint8[i+1]<<8)+uint8[i+2],output.push(tripletToBase64(tmp));return output.join("")}function fromByteArray(uint8){for(var tmp,len=uint8.length,extraBytes=len%3,output="",parts=[],maxChunkLength=16383,i=0,len2=len-extraBytes;i<len2;i+=maxChunkLength)parts.push(encodeChunk(uint8,i,i+maxChunkLength>len2?len2:i+maxChunkLength));return 1===extraBytes?(tmp=uint8[len-1],output+=lookup[tmp>>2],output+=lookup[tmp<<4&63],output+="=="):2===extraBytes&&(tmp=(uint8[len-2]<<8)+uint8[len-1],output+=lookup[tmp>>10],output+=lookup[tmp>>4&63],output+=lookup[tmp<<2&63],output+="="),parts.push(output),parts.join("")}exports.byteLength=byteLength,exports.toByteArray=toByteArray,exports.fromByteArray=fromByteArray;for(var lookup=[],revLookup=[],Arr="undefined"!=typeof Uint8Array?Uint8Array:Array,code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=0,len=code.length;i<len;++i)lookup[i]=code[i],revLookup[code.charCodeAt(i)]=i;revLookup["-".charCodeAt(0)]=62,revLookup["_".charCodeAt(0)]=63},function(module,exports){exports.read=function(buffer,offset,isLE,mLen,nBytes){var e,m,eLen=8*nBytes-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,nBits=-7,i=isLE?nBytes-1:0,d=isLE?-1:1,s=buffer[offset+i];for(i+=d,e=s&(1<<-nBits)-1,s>>=-nBits,nBits+=eLen;nBits>0;e=256*e+buffer[offset+i],i+=d,nBits-=8);for(m=e&(1<<-nBits)-1,e>>=-nBits,nBits+=mLen;nBits>0;m=256*m+buffer[offset+i],i+=d,nBits-=8);if(0===e)e=1-eBias;else{if(e===eMax)return m?NaN:(s?-1:1)*(1/0);m+=Math.pow(2,mLen),e-=eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)},exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c,eLen=8*nBytes-mLen-1,eMax=(1<<eLen)-1,eBias=eMax>>1,rt=23===mLen?Math.pow(2,-24)-Math.pow(2,-77):0,i=isLE?0:nBytes-1,d=isLE?1:-1,s=value<0||0===value&&1/value<0?1:0;for(value=Math.abs(value),isNaN(value)||value===1/0?(m=isNaN(value)?1:0,e=eMax):(e=Math.floor(Math.log(value)/Math.LN2),value*(c=Math.pow(2,-e))<1&&(e--,c*=2),value+=e+eBias>=1?rt/c:rt*Math.pow(2,1-eBias),value*c>=2&&(e++,c/=2),e+eBias>=eMax?(m=0,e=eMax):e+eBias>=1?(m=(value*c-1)*Math.pow(2,mLen),e+=eBias):(m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen),e=0));mLen>=8;buffer[offset+i]=255&m,i+=d,m/=256,mLen-=8);for(e=e<<mLen|m,eLen+=mLen;eLen>0;buffer[offset+i]=255&e,i+=d,e/=256,eLen-=8);buffer[offset+i-d]|=128*s}},function(module,exports){var toString={}.toString;module.exports=Array.isArray||function(arr){return"[object Array]"==toString.call(arr)}},function(module,exports,__webpack_require__){(function(module,global){var __WEBPACK_AMD_DEFINE_RESULT__;!function(root){function error(type){throw new RangeError(errors[type])}function map(array,fn){for(var length=array.length,result=[];length--;)result[length]=fn(array[length]);return result}function mapDomain(string,fn){var parts=string.split("@"),result="";parts.length>1&&(result=parts[0]+"@",string=parts[1]),string=string.replace(regexSeparators,".");var labels=string.split("."),encoded=map(labels,fn).join(".");return result+encoded}function ucs2decode(string){for(var value,extra,output=[],counter=0,length=string.length;counter<length;)value=string.charCodeAt(counter++),value>=55296&&value<=56319&&counter<length?(extra=string.charCodeAt(counter++),56320==(64512&extra)?output.push(((1023&value)<<10)+(1023&extra)+65536):(output.push(value),counter--)):output.push(value);return output}function ucs2encode(array){return map(array,function(value){var output="";return value>65535&&(value-=65536,output+=stringFromCharCode(value>>>10&1023|55296),value=56320|1023&value),output+=stringFromCharCode(value)}).join("")}function basicToDigit(codePoint){return codePoint-48<10?codePoint-22:codePoint-65<26?codePoint-65:codePoint-97<26?codePoint-97:base}function digitToBasic(digit,flag){return digit+22+75*(digit<26)-((0!=flag)<<5)}function adapt(delta,numPoints,firstTime){var k=0;for(delta=firstTime?floor(delta/damp):delta>>1,delta+=floor(delta/numPoints);delta>baseMinusTMin*tMax>>1;k+=base)delta=floor(delta/baseMinusTMin);return floor(k+(baseMinusTMin+1)*delta/(delta+skew))}function decode(input){var out,basic,j,index,oldi,w,k,digit,t,baseMinusT,output=[],inputLength=input.length,i=0,n=initialN,bias=initialBias;for(basic=input.lastIndexOf(delimiter),basic<0&&(basic=0),j=0;j<basic;++j)input.charCodeAt(j)>=128&&error("not-basic"),output.push(input.charCodeAt(j));for(index=basic>0?basic+1:0;index<inputLength;){for(oldi=i,w=1,k=base;index>=inputLength&&error("invalid-input"),digit=basicToDigit(input.charCodeAt(index++)),(digit>=base||digit>floor((maxInt-i)/w))&&error("overflow"),i+=digit*w,t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias,!(digit<t);k+=base)baseMinusT=base-t,w>floor(maxInt/baseMinusT)&&error("overflow"),w*=baseMinusT;out=output.length+1,bias=adapt(i-oldi,out,0==oldi),floor(i/out)>maxInt-n&&error("overflow"),n+=floor(i/out),i%=out,output.splice(i++,0,n)}return ucs2encode(output)}function encode(input){var n,delta,handledCPCount,basicLength,bias,j,m,q,k,t,currentValue,inputLength,handledCPCountPlusOne,baseMinusT,qMinusT,output=[];for(input=ucs2decode(input),inputLength=input.length,n=initialN,delta=0,bias=initialBias,j=0;j<inputLength;++j)currentValue=input[j],currentValue<128&&output.push(stringFromCharCode(currentValue));for(handledCPCount=basicLength=output.length,basicLength&&output.push(delimiter);handledCPCount<inputLength;){for(m=maxInt,j=0;j<inputLength;++j)currentValue=input[j],currentValue>=n&&currentValue<m&&(m=currentValue);for(handledCPCountPlusOne=handledCPCount+1,m-n>floor((maxInt-delta)/handledCPCountPlusOne)&&error("overflow"),delta+=(m-n)*handledCPCountPlusOne,n=m,j=0;j<inputLength;++j)if(currentValue=input[j],currentValue<n&&++delta>maxInt&&error("overflow"),currentValue==n){for(q=delta,k=base;t=k<=bias?tMin:k>=bias+tMax?tMax:k-bias,!(q<t);k+=base)qMinusT=q-t,baseMinusT=base-t,output.push(stringFromCharCode(digitToBasic(t+qMinusT%baseMinusT,0))),q=floor(qMinusT/baseMinusT);output.push(stringFromCharCode(digitToBasic(q,0))),bias=adapt(delta,handledCPCountPlusOne,handledCPCount==basicLength),delta=0,++handledCPCount}++delta,++n}return output.join("")}function toUnicode(input){return mapDomain(input,function(string){return regexPunycode.test(string)?decode(string.slice(4).toLowerCase()):string})}function toASCII(input){return mapDomain(input,function(string){return regexNonASCII.test(string)?"xn--"+encode(string):string})}var freeGlobal=("object"==typeof exports&&exports&&!exports.nodeType&&exports,"object"==typeof module&&module&&!module.nodeType&&module,"object"==typeof global&&global);freeGlobal.global!==freeGlobal&&freeGlobal.window!==freeGlobal&&freeGlobal.self!==freeGlobal||(root=freeGlobal);var punycode,maxInt=2147483647,base=36,tMin=1,tMax=26,skew=38,damp=700,initialBias=72,initialN=128,delimiter="-",regexPunycode=/^xn--/,regexNonASCII=/[^\x20-\x7E]/,regexSeparators=/[\x2E\u3002\uFF0E\uFF61]/g,errors={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},baseMinusTMin=base-tMin,floor=Math.floor,stringFromCharCode=String.fromCharCode;punycode={version:"1.4.1",ucs2:{decode:ucs2decode,encode:ucs2encode},decode:decode,encode:encode,toASCII:toASCII,toUnicode:toUnicode},__WEBPACK_AMD_DEFINE_RESULT__=function(){return punycode}.call(exports,__webpack_require__,exports,module),!(void 0!==__WEBPACK_AMD_DEFINE_RESULT__&&(module.exports=__WEBPACK_AMD_DEFINE_RESULT__))}(this)}).call(exports,__webpack_require__(41)(module),__webpack_require__(4))},function(module,exports){"use strict";function hasOwnProperty(obj,prop){return Object.prototype.hasOwnProperty.call(obj,prop)}module.exports=function(qs,sep,eq,options){sep=sep||"&",eq=eq||"=";var obj={};if("string"!=typeof qs||0===qs.length)return obj;var regexp=/\+/g;qs=qs.split(sep);var maxKeys=1e3;options&&"number"==typeof options.maxKeys&&(maxKeys=options.maxKeys);var len=qs.length;maxKeys>0&&len>maxKeys&&(len=maxKeys);for(var i=0;i<len;++i){var kstr,vstr,k,v,x=qs[i].replace(regexp,"%20"),idx=x.indexOf(eq);idx>=0?(kstr=x.substr(0,idx),vstr=x.substr(idx+1)):(kstr=x,vstr=""),k=decodeURIComponent(kstr),v=decodeURIComponent(vstr),hasOwnProperty(obj,k)?isArray(obj[k])?obj[k].push(v):obj[k]=[obj[k],v]:obj[k]=v}return obj};var isArray=Array.isArray||function(xs){return"[object Array]"===Object.prototype.toString.call(xs)}},function(module,exports){"use strict";function map(xs,f){if(xs.map)return xs.map(f);for(var res=[],i=0;i<xs.length;i++)res.push(f(xs[i],i));return res}var stringifyPrimitive=function(v){switch(typeof v){case"string":return v;case"boolean":return v?"true":"false";case"number":return isFinite(v)?v:"";default:return""}};module.exports=function(obj,sep,eq,name){return sep=sep||"&",eq=eq||"=",null===obj&&(obj=void 0),"object"==typeof obj?map(objectKeys(obj),function(k){var ks=encodeURIComponent(stringifyPrimitive(k))+eq;return isArray(obj[k])?map(obj[k],function(v){return ks+encodeURIComponent(stringifyPrimitive(v))}).join(sep):ks+encodeURIComponent(stringifyPrimitive(obj[k]))}).join(sep):name?encodeURIComponent(stringifyPrimitive(name))+eq+encodeURIComponent(stringifyPrimitive(obj)):""};var isArray=Array.isArray||function(xs){return"[object Array]"===Object.prototype.toString.call(xs)},objectKeys=Object.keys||function(obj){var res=[];for(var key in obj)Object.prototype.hasOwnProperty.call(obj,key)&&res.push(key);return res}},function(module,exports,__webpack_require__){"use strict";exports.decode=exports.parse=__webpack_require__(457),exports.encode=exports.stringify=__webpack_require__(458)},function(module,exports,__webpack_require__){module.exports=__webpack_require__(19)},function(module,exports,__webpack_require__){"use strict";function BufferList(){this.head=null,this.tail=null,this.length=0}var bufferShim=(__webpack_require__(12).Buffer,__webpack_require__(65));module.exports=BufferList,BufferList.prototype.push=function(v){var entry={data:v,next:null};this.length>0?this.tail.next=entry:this.head=entry,this.tail=entry,++this.length},BufferList.prototype.unshift=function(v){var entry={data:v,next:this.head};0===this.length&&(this.tail=entry),this.head=entry,++this.length},BufferList.prototype.shift=function(){if(0!==this.length){var ret=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,ret}},BufferList.prototype.clear=function(){this.head=this.tail=null,this.length=0},BufferList.prototype.join=function(s){if(0===this.length)return"";for(var p=this.head,ret=""+p.data;p=p.next;)ret+=s+p.data;return ret},BufferList.prototype.concat=function(n){if(0===this.length)return bufferShim.alloc(0);if(1===this.length)return this.head.data;for(var ret=bufferShim.allocUnsafe(n>>>0),p=this.head,i=0;p;)p.data.copy(ret,i),i+=p.data.length,p=p.next;return ret}},function(module,exports){var toString={}.toString;module.exports=Array.isArray||function(arr){return"[object Array]"==toString.call(arr)}},function(module,exports,__webpack_require__){(function(global){function deprecate(fn,msg){function deprecated(){if(!warned){if(config("throwDeprecation"))throw new Error(msg);config("traceDeprecation")?console.trace(msg):console.warn(msg),warned=!0}return fn.apply(this,arguments)}if(config("noDeprecation"))return fn;var warned=!1;return deprecated}function config(name){try{if(!global.localStorage)return!1}catch(_){return!1}var val=global.localStorage[name];return null!=val&&"true"===String(val).toLowerCase()}module.exports=deprecate}).call(exports,__webpack_require__(4))},function(module,exports,__webpack_require__){module.exports=__webpack_require__(110)},function(module,exports,__webpack_require__){module.exports=__webpack_require__(63)},function(module,exports,__webpack_require__){module.exports=__webpack_require__(64)},function(module,exports){"function"==typeof Object.create?module.exports=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}},function(module,exports,__webpack_require__){(function(Buffer,global,process){function decideMode(preferBinary,useFetch){return capability.fetch&&useFetch?"fetch":capability.mozchunkedarraybuffer?"moz-chunked-arraybuffer":capability.msstream?"ms-stream":capability.arraybuffer&&preferBinary?"arraybuffer":capability.vbArray&&preferBinary?"text:vbarray":"text"}function statusValid(xhr){try{var status=xhr.status;return null!==status&&0!==status}catch(e){return!1}}var capability=__webpack_require__(112),inherits=__webpack_require__(113),response=__webpack_require__(469),stream=__webpack_require__(67),toArrayBuffer=__webpack_require__(471),IncomingMessage=response.IncomingMessage,rStates=response.readyStates,ClientRequest=module.exports=function(opts){var self=this;stream.Writable.call(self),self._opts=opts,self._body=[],self._headers={},opts.auth&&self.setHeader("Authorization","Basic "+new Buffer(opts.auth).toString("base64")),Object.keys(opts.headers).forEach(function(name){self.setHeader(name,opts.headers[name])});var preferBinary,useFetch=!0;if("disable-fetch"===opts.mode||"timeout"in opts)useFetch=!1,preferBinary=!0;else if("prefer-streaming"===opts.mode)preferBinary=!1;else if("allow-wrong-content-type"===opts.mode)preferBinary=!capability.overrideMimeType;else{if(opts.mode&&"default"!==opts.mode&&"prefer-fast"!==opts.mode)throw new Error("Invalid value for opts.mode");preferBinary=!0}self._mode=decideMode(preferBinary,useFetch),self.on("finish",function(){self._onFinish()})};inherits(ClientRequest,stream.Writable),ClientRequest.prototype.setHeader=function(name,value){var self=this,lowerName=name.toLowerCase();unsafeHeaders.indexOf(lowerName)===-1&&(self._headers[lowerName]={name:name,value:value})},ClientRequest.prototype.getHeader=function(name){var self=this;return self._headers[name.toLowerCase()].value},ClientRequest.prototype.removeHeader=function(name){var self=this;delete self._headers[name.toLowerCase()]},ClientRequest.prototype._onFinish=function(){var self=this;if(!self._destroyed){var opts=self._opts,headersObj=self._headers,body=null;if("POST"!==opts.method&&"PUT"!==opts.method&&"PATCH"!==opts.method&&"MERGE"!==opts.method||(body=capability.blobConstructor?new global.Blob(self._body.map(function(buffer){return toArrayBuffer(buffer)}),{type:(headersObj["content-type"]||{}).value||""}):Buffer.concat(self._body).toString()),"fetch"===self._mode){var headers=Object.keys(headersObj).map(function(name){return[headersObj[name].name,headersObj[name].value]});global.fetch(self._opts.url,{method:self._opts.method,headers:headers,body:body||void 0,mode:"cors",credentials:opts.withCredentials?"include":"same-origin"}).then(function(response){self._fetchResponse=response,self._connect()},function(reason){self.emit("error",reason)})}else{var xhr=self._xhr=new global.XMLHttpRequest;try{xhr.open(self._opts.method,self._opts.url,!0)}catch(err){return void process.nextTick(function(){self.emit("error",err)})}"responseType"in xhr&&(xhr.responseType=self._mode.split(":")[0]),"withCredentials"in xhr&&(xhr.withCredentials=!!opts.withCredentials),"text"===self._mode&&"overrideMimeType"in xhr&&xhr.overrideMimeType("text/plain; charset=x-user-defined"),"timeout"in opts&&(xhr.timeout=opts.timeout,xhr.ontimeout=function(){self.emit("timeout")}),Object.keys(headersObj).forEach(function(name){xhr.setRequestHeader(headersObj[name].name,headersObj[name].value)}),self._response=null,xhr.onreadystatechange=function(){switch(xhr.readyState){case rStates.LOADING:case rStates.DONE:self._onXHRProgress()}},"moz-chunked-arraybuffer"===self._mode&&(xhr.onprogress=function(){self._onXHRProgress()}),xhr.onerror=function(){self._destroyed||self.emit("error",new Error("XHR error"))};try{xhr.send(body)}catch(err){return void process.nextTick(function(){self.emit("error",err)})}}}},ClientRequest.prototype._onXHRProgress=function(){var self=this;statusValid(self._xhr)&&!self._destroyed&&(self._response||self._connect(),self._response._onXHRProgress())},ClientRequest.prototype._connect=function(){var self=this;self._destroyed||(self._response=new IncomingMessage(self._xhr,self._fetchResponse,self._mode),self._response.on("error",function(err){self.emit("error",err)}),self.emit("response",self._response))},ClientRequest.prototype._write=function(chunk,encoding,cb){var self=this;self._body.push(chunk),cb()},ClientRequest.prototype.abort=ClientRequest.prototype.destroy=function(){var self=this;self._destroyed=!0,self._response&&(self._response._destroyed=!0),self._xhr&&self._xhr.abort()},ClientRequest.prototype.end=function(data,encoding,cb){var self=this;"function"==typeof data&&(cb=data,data=void 0),stream.Writable.prototype.end.call(self,data,encoding,cb)},ClientRequest.prototype.flushHeaders=function(){},ClientRequest.prototype.setTimeout=function(){},ClientRequest.prototype.setNoDelay=function(){},ClientRequest.prototype.setSocketKeepAlive=function(){};var unsafeHeaders=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","date","dnt","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","user-agent","via"]}).call(exports,__webpack_require__(12).Buffer,__webpack_require__(4),__webpack_require__(16))},function(module,exports,__webpack_require__){(function(process,Buffer,global){var capability=__webpack_require__(112),inherits=__webpack_require__(113),stream=__webpack_require__(67),rStates=exports.readyStates={UNSENT:0,OPENED:1,HEADERS_RECEIVED:2,LOADING:3,DONE:4},IncomingMessage=exports.IncomingMessage=function(xhr,response,mode){function read(){reader.read().then(function(result){if(!self._destroyed){if(result.done)return void self.push(null);self.push(new Buffer(result.value)),read()}})["catch"](function(err){self.emit("error",err)})}var self=this;if(stream.Readable.call(self),self._mode=mode,self.headers={},self.rawHeaders=[],self.trailers={},self.rawTrailers=[],self.on("end",function(){process.nextTick(function(){self.emit("close")})}),"fetch"===mode){self._fetchResponse=response,self.url=response.url,self.statusCode=response.status,self.statusMessage=response.statusText,response.headers.forEach(function(header,key){self.headers[key.toLowerCase()]=header,self.rawHeaders.push(key,header)});var reader=response.body.getReader();read()}else{self._xhr=xhr,self._pos=0,self.url=xhr.responseURL,self.statusCode=xhr.status,self.statusMessage=xhr.statusText;var headers=xhr.getAllResponseHeaders().split(/\r?\n/);if(headers.forEach(function(header){var matches=header.match(/^([^:]+):\s*(.*)/);if(matches){var key=matches[1].toLowerCase();"set-cookie"===key?(void 0===self.headers[key]&&(self.headers[key]=[]),self.headers[key].push(matches[2])):void 0!==self.headers[key]?self.headers[key]+=", "+matches[2]:self.headers[key]=matches[2],self.rawHeaders.push(matches[1],matches[2])}}),self._charset="x-user-defined",!capability.overrideMimeType){var mimeType=self.rawHeaders["mime-type"];if(mimeType){var charsetMatch=mimeType.match(/;\s*charset=([^;])(;|$)/);charsetMatch&&(self._charset=charsetMatch[1].toLowerCase())}self._charset||(self._charset="utf-8")}}};inherits(IncomingMessage,stream.Readable),IncomingMessage.prototype._read=function(){},IncomingMessage.prototype._onXHRProgress=function(){var self=this,xhr=self._xhr,response=null;switch(self._mode){case"text:vbarray":if(xhr.readyState!==rStates.DONE)break;try{response=new global.VBArray(xhr.responseBody).toArray()}catch(e){}if(null!==response){self.push(new Buffer(response));break}case"text":try{response=xhr.responseText}catch(e){self._mode="text:vbarray";break}if(response.length>self._pos){var newData=response.substr(self._pos);if("x-user-defined"===self._charset){for(var buffer=new Buffer(newData.length),i=0;i<newData.length;i++)buffer[i]=255&newData.charCodeAt(i);self.push(buffer)}else self.push(newData,self._charset);self._pos=response.length}break;case"arraybuffer":if(xhr.readyState!==rStates.DONE||!xhr.response)break;response=xhr.response,self.push(new Buffer(new Uint8Array(response)));break;case"moz-chunked-arraybuffer":if(response=xhr.response,xhr.readyState!==rStates.LOADING||!response)break;self.push(new Buffer(new Uint8Array(response)));break;case"ms-stream":if(response=xhr.response,xhr.readyState!==rStates.LOADING)break;var reader=new global.MSStreamReader;reader.onprogress=function(){reader.result.byteLength>self._pos&&(self.push(new Buffer(new Uint8Array(reader.result.slice(self._pos)))),self._pos=reader.result.byteLength)},reader.onload=function(){self.push(null)},reader.readAsArrayBuffer(response)}self._xhr.readyState===rStates.DONE&&"ms-stream"!==self._mode&&self.push(null)}}).call(exports,__webpack_require__(16),__webpack_require__(12).Buffer,__webpack_require__(4))},function(module,exports){module.exports={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",208:"Already Reported",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",307:"Temporary Redirect",308:"Permanent Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Payload Too Large",414:"URI Too Long",415:"Unsupported Media Type",416:"Range Not Satisfiable",417:"Expectation Failed",418:"I'm a teapot",421:"Misdirected Request",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",425:"Unordered Collection",426:"Upgrade Required",428:"Precondition Required",429:"Too Many Requests",431:"Request Header Fields Too Large",
+451:"Unavailable For Legal Reasons",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",508:"Loop Detected",509:"Bandwidth Limit Exceeded",510:"Not Extended",511:"Network Authentication Required"}},function(module,exports,__webpack_require__){var Buffer=__webpack_require__(12).Buffer;module.exports=function(buf){if(buf instanceof Uint8Array){if(0===buf.byteOffset&&buf.byteLength===buf.buffer.byteLength)return buf.buffer;if("function"==typeof buf.buffer.slice)return buf.buffer.slice(buf.byteOffset,buf.byteOffset+buf.byteLength)}if(Buffer.isBuffer(buf)){for(var arrayCopy=new Uint8Array(buf.length),len=buf.length,i=0;i<len;i++)arrayCopy[i]=buf[i];return arrayCopy.buffer}throw new Error("Argument must be a Buffer")}},function(module,exports){function extend(){for(var target={},i=0;i<arguments.length;i++){var source=arguments[i];for(var key in source)hasOwnProperty.call(source,key)&&(target[key]=source[key])}return target}module.exports=extend;var hasOwnProperty=Object.prototype.hasOwnProperty},function(module,exports){"use strict";module.exports={isString:function(arg){return"string"==typeof arg},isObject:function(arg){return"object"==typeof arg&&null!==arg},isNull:function(arg){return null===arg},isNullOrUndefined:function(arg){return null==arg}}},function(module,exports){"function"==typeof Object.create?module.exports=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})}:module.exports=function(ctor,superCtor){ctor.super_=superCtor;var TempCtor=function(){};TempCtor.prototype=superCtor.prototype,ctor.prototype=new TempCtor,ctor.prototype.constructor=ctor}},function(module,exports){module.exports=function(arg){return arg&&"object"==typeof arg&&"function"==typeof arg.copy&&"function"==typeof arg.fill&&"function"==typeof arg.readUInt8}},function(module,exports){},function(module,exports){},,function(module,exports,__webpack_require__){__webpack_require__(48),__webpack_require__(115),__webpack_require__(45),__webpack_require__(46),__webpack_require__(116),__webpack_require__(117),__webpack_require__(47),__webpack_require__(118),__webpack_require__(119),__webpack_require__(11),__webpack_require__(120),__webpack_require__(123),__webpack_require__(124),module.exports=__webpack_require__(125)}]);
\ No newline at end of file
diff --git a/xos/gui/gulp_tasks/browsersync.js b/xos/gui/gulp_tasks/browsersync.js
new file mode 100755
index 0000000..945a88d
--- /dev/null
+++ b/xos/gui/gulp_tasks/browsersync.js
@@ -0,0 +1,21 @@
+const gulp = require('gulp');
+const browserSync = require('browser-sync');
+const spa = require('browser-sync-spa');
+
+const browserSyncConf = require('../conf/browsersync.conf');
+const browserSyncDistConf = require('../conf/browsersync-dist.conf');
+
+browserSync.use(spa());
+
+gulp.task('browsersync', browserSyncServe);
+gulp.task('browsersync:dist', browserSyncDist);
+
+function browserSyncServe(done) {
+  browserSync.init(browserSyncConf());
+  done();
+}
+
+function browserSyncDist(done) {
+  browserSync.init(browserSyncDistConf());
+  done();
+}
diff --git a/xos/gui/gulp_tasks/karma.js b/xos/gui/gulp_tasks/karma.js
new file mode 100755
index 0000000..5b90572
--- /dev/null
+++ b/xos/gui/gulp_tasks/karma.js
@@ -0,0 +1,27 @@
+const path = require('path');
+
+const gulp = require('gulp');
+const karma = require('karma');
+
+gulp.task('karma:single-run', karmaSingleRun);
+gulp.task('karma:auto-run', karmaAutoRun);
+
+function karmaFinishHandler(done) {
+  return failCount => {
+    done(failCount ? new Error(`Failed ${failCount} tests.`) : null);
+  };
+}
+
+function karmaSingleRun(done) {
+  process.env.NODE_ENV = 'test';
+  const configFile = path.join(process.cwd(), 'conf', 'karma.conf.js');
+  const karmaServer = new karma.Server({configFile}, karmaFinishHandler(done));
+  karmaServer.start();
+}
+
+function karmaAutoRun(done) {
+  process.env.NODE_ENV = 'test';
+  const configFile = path.join(process.cwd(), 'conf', 'karma-auto.conf.js');
+  const karmaServer = new karma.Server({configFile}, karmaFinishHandler(done));
+  karmaServer.start();
+}
diff --git a/xos/gui/gulp_tasks/misc.js b/xos/gui/gulp_tasks/misc.js
new file mode 100755
index 0000000..d1e70ec
--- /dev/null
+++ b/xos/gui/gulp_tasks/misc.js
@@ -0,0 +1,38 @@
+const path = require('path');
+
+const gulp = require('gulp');
+const del = require('del');
+const filter = require('gulp-filter');
+const rename = require('gulp-rename');
+const replace = require('gulp-replace');
+
+const conf = require('../conf/gulp.conf');
+
+gulp.task('clean', clean);
+gulp.task('other', other);
+
+function clean() {
+  return del([`${conf.paths.dist}/*`, conf.paths.tmp]);
+}
+
+function other() {
+  const fileFilter = filter(file => file.stat.isFile());
+
+  return gulp.src([
+    path.join(conf.paths.src, '/**/*'),
+    path.join(`!${conf.paths.src}`, '/**/*.{scss,ts,html}')
+  ])
+    .pipe(fileFilter)
+    .pipe(gulp.dest(conf.paths.dist));
+}
+
+function other() {
+  const fileFilter = filter(file => file.stat.isFile());
+
+  return gulp.src([
+    path.join(conf.paths.src, '/**/*'),
+    path.join(`!${conf.paths.src}`, '/**/*.{scss,ts,html}')
+  ])
+    .pipe(fileFilter)
+    .pipe(gulp.dest(conf.paths.dist));
+}
diff --git a/xos/gui/gulp_tasks/webpack.js b/xos/gui/gulp_tasks/webpack.js
new file mode 100755
index 0000000..ec8e8b1
--- /dev/null
+++ b/xos/gui/gulp_tasks/webpack.js
@@ -0,0 +1,49 @@
+const gulp = require('gulp');
+const gutil = require('gulp-util');
+
+const webpack = require('webpack');
+const webpackConf = require('../conf/webpack.conf');
+const webpackDistConf = require('../conf/webpack-dist.conf');
+const gulpConf = require('../conf/gulp.conf');
+const browsersync = require('browser-sync');
+
+gulp.task('webpack:dev', done => {
+  webpackWrapper(false, webpackConf, done);
+});
+
+gulp.task('webpack:watch', done => {
+  webpackWrapper(true, webpackConf, done);
+});
+
+gulp.task('webpack:dist', done => {
+  process.env.NODE_ENV = 'production';
+  webpackWrapper(false, webpackDistConf, done);
+});
+
+function webpackWrapper(watch, conf, done) {
+  const webpackBundler = webpack(conf);
+
+  const webpackChangeHandler = (err, stats) => {
+    if (err) {
+      gulpConf.errorHandler('Webpack')(err);
+    }
+    gutil.log(stats.toString({
+      colors: true,
+      chunks: false,
+      hash: false,
+      version: false
+    }));
+    if (done) {
+      done();
+      done = null;
+    } else {
+      browsersync.reload();
+    }
+  };
+
+  if (watch) {
+    webpackBundler.watch(200, webpackChangeHandler);
+  } else {
+    webpackBundler.run(webpackChangeHandler);
+  }
+}
diff --git a/xos/gui/gulpfile.js b/xos/gui/gulpfile.js
new file mode 100755
index 0000000..541d6e4
--- /dev/null
+++ b/xos/gui/gulpfile.js
@@ -0,0 +1,29 @@
+const gulp = require('gulp');
+const HubRegistry = require('gulp-hub');
+const browserSync = require('browser-sync');
+
+const conf = require('./conf/gulp.conf');
+
+// Load some files into the registry
+const hub = new HubRegistry([conf.path.tasks('*.js')]);
+
+// Tell gulp to use the tasks just loaded
+gulp.registry(hub);
+
+gulp.task('build', gulp.series(gulp.parallel('other', 'webpack:dist')));
+gulp.task('test', gulp.series('karma:single-run'));
+gulp.task('test:auto', gulp.series('karma:auto-run'));
+gulp.task('serve', gulp.series('webpack:watch', 'watch', 'browsersync'));
+gulp.task('serve:dist', gulp.series('default', 'browsersync:dist'));
+gulp.task('default', gulp.series('clean', 'build'));
+gulp.task('watch', watch);
+
+function reloadBrowserSync(cb) {
+  browserSync.reload();
+  cb();
+}
+
+function watch(done) {
+  gulp.watch(conf.path.tmp('index.html'), reloadBrowserSync);
+  done();
+}
diff --git a/xos/gui/nginx.conf b/xos/gui/nginx.conf
new file mode 100755
index 0000000..5e7bc60
--- /dev/null
+++ b/xos/gui/nginx.conf
@@ -0,0 +1,19 @@
+server {
+    listen       4000;
+    server_name  localhost;
+
+    #charset koi8-r;
+    access_log  /var/log/nginx/log/xos-spa-gui.access.log  main;
+    error_log  /var/log/nginx/log/xos-spa-gui.error.log  debug;
+
+    location / {
+       root   /var/www/dist;
+       index  index.html index.htm;
+    }
+
+    # Redirect for FE config
+
+    location /spa/ {
+        rewrite ^/spa/(.*)$ /$1;
+    }
+}
\ No newline at end of file
diff --git a/xos/gui/package.json b/xos/gui/package.json
new file mode 100644
index 0000000..f9d893b
--- /dev/null
+++ b/xos/gui/package.json
@@ -0,0 +1,108 @@
+{
+  "version": "2.0.0",
+  "dependencies": {
+    "angular": "^1.5.0",
+    "angular-animate": "^1.6.0",
+    "angular-cookies": "^1.6.0",
+    "angular-resource": "^1.6.0",
+    "angular-toastr": "^2.1.1",
+    "angular-ui-bootstrap": "^2.3.1",
+    "angular-ui-router": "1.0.0-beta.1",
+    "bootstrap": "^3.3.7",
+    "http-proxy": "^1.16.2",
+    "jquery": "^3.1.1",
+    "lodash": "^4.17.2",
+    "pluralize": "^3.1.0",
+    "rxjs": "^5.0.1",
+    "socket.io-client": "^1.7.2"
+  },
+  "devDependencies": {
+    "angular-mocks": "^1.5.0-beta.2",
+    "autoprefixer": "^6.2.2",
+    "babel-eslint": "^6.0.2",
+    "babel-loader": "^6.2.0",
+    "babel-plugin-istanbul": "^2.0.1",
+    "base-href-webpack-plugin": "1.0.0",
+    "browser-sync": "^2.9.11",
+    "browser-sync-spa": "^1.0.3",
+    "copy-webpack-plugin": "^4.0.1",
+    "css-loader": "^0.23.1",
+    "del": "^2.0.2",
+    "es6-shim": "^0.35.0",
+    "eslint": "^3.2.2",
+    "eslint-config-angular": "^0.5.0",
+    "eslint-config-xo-space": "^0.12.0",
+    "eslint-loader": "^1.3.0",
+    "eslint-plugin-angular": "^1.3.0",
+    "eslint-plugin-babel": "^3.1.0",
+    "extract-text-webpack-plugin": "2.0.0-beta.3",
+    "file-loader": "^0.9.0",
+    "gulp": "gulpjs/gulp#4ed9a4a3275559c73a396eff7e1fde3824951ebb",
+    "gulp-angular-filesort": "^1.1.1",
+    "gulp-angular-templatecache": "^1.8.0",
+    "gulp-filter": "^4.0.0",
+    "gulp-htmlmin": "^1.3.0",
+    "gulp-hub": "frankwallis/gulp-hub#d461b9c700df9010d0a8694e4af1fb96d9f38bf4",
+    "gulp-insert": "^0.5.0",
+    "gulp-ng-annotate": "^1.1.0",
+    "gulp-rename": "^1.2.2",
+    "gulp-replace": "^0.5.4",
+    "gulp-sass": "^2.1.1",
+    "gulp-util": "^3.0.7",
+    "html-loader": "^0.4.3",
+    "html-webpack-plugin": "^2.9.0",
+    "jasmine": "^2.4.1",
+    "jasmine-jquery": "^2.1.1",
+    "json-loader": "^0.5.4",
+    "karma": "^1.3.0",
+    "karma-angular-filesort": "^1.0.0",
+    "karma-chrome-launcher": "^2.0.0",
+    "karma-coverage": "^1.1.1",
+    "karma-es6-shim": "^1.0.0",
+    "karma-jasmine": "^1.0.2",
+    "karma-junit-reporter": "^1.1.0",
+    "karma-mocha-reporter": "^2.2.1",
+    "karma-ng-html2js-preprocessor": "^0.2.0",
+    "karma-phantomjs-launcher": "^1.0.0",
+    "karma-phantomjs-shim": "^1.1.2",
+    "karma-webpack": "^1.7.0",
+    "ng-annotate-loader": "^0.0.10",
+    "node-sass": "^3.4.2",
+    "phantomjs-prebuilt": "^2.1.6",
+    "postcss-loader": "^0.8.0",
+    "sass-loader": "^3.1.2",
+    "style-loader": "^0.13.0",
+    "ts-loader": "^0.8.2",
+    "tslint": "^3.15.1",
+    "tslint-loader": "^2.1.0",
+    "typescript": "^2.0.2",
+    "typings": "^1.0.4",
+    "url-loader": "^0.5.7",
+    "webpack": "2.1.0-beta.20"
+  },
+  "scripts": {
+    "postinstall": "npm run typings",
+    "build": "gulp",
+    "start": "gulp serve",
+    "typings": "typings install",
+    "serve:dist": "gulp serve:dist",
+    "pretest": "npm run lint",
+    "test": "gulp test",
+    "test:auto": "gulp test:auto",
+    "config": "gulp config",
+    "lint": "tslint -c ./tslint.json 'src/**/*.ts'"
+  },
+  "eslintConfig": {
+    "globals": {
+      "expect": true
+    },
+    "root": true,
+    "env": {
+      "browser": true,
+      "jasmine": true
+    },
+    "extends": [
+      "xo-space/esnext"
+    ]
+  }
+}
diff --git a/xos/gui/src/app/services/graph.extension.ts b/xos/gui/src/app/services/graph.extension.ts
new file mode 100644
index 0000000..bb01328
--- /dev/null
+++ b/xos/gui/src/app/services/graph.extension.ts
@@ -0,0 +1,195 @@
+import * as $ from 'jquery';
+import * as _ from 'lodash';
+
+export interface IRCordGraphReducer {
+  setup(): void;
+}
+
+export class RCordGraphReducer implements IRCordGraphReducer {
+
+  static $inject = [
+    'XosServiceGraphExtender'
+  ];
+
+  constructor(
+    private XosServiceGraphExtender: any
+  ) {
+
+  }
+
+  public setup() {
+    this.XosServiceGraphExtender.register('finegrained', 'ecord-local', (graph): any => {
+      graph = this.positionFineGrainedNodes(graph);
+      return graph;
+    });
+
+    this.XosServiceGraphExtender.register('coarse', 'ecord-local', (graph: any): any => {
+      graph.nodes = this.positionCoarseNodes(graph.nodes);
+      return {
+        nodes: graph.nodes,
+        links: graph.links
+      };
+    });
+  }
+
+  private getSvgDimensions(graph: string): {width: number, heigth: number} {
+    return {
+      width: $(`${graph} svg`).width(),
+      heigth: $(`${graph} svg`).height()
+    };
+  }
+
+  private positionCoarseNodes(nodes: any[]): any[] {
+    // getting distance between nodes
+    const hStep = this.getSvgDimensions('xos-coarse-tenancy-graph').width / 4;
+    const vStep = this.getSvgDimensions('xos-coarse-tenancy-graph').heigth / 4;
+
+    const vtr = _.find(nodes, {label: 'vtr'});
+    if (vtr) {
+      vtr.x = hStep * 2;
+      vtr.y = vStep * 1;
+      vtr.fixed = true;
+    }
+
+    const volt = _.find(nodes, {label: 'volt'});
+    if (volt) {
+      volt.x = hStep * 1;
+      volt.y = vStep * 2;
+      volt.fixed = true;
+    }
+
+    const vsg = _.find(nodes, {label: 'vsg'});
+    if (vsg) {
+      vsg.x = hStep * 2;
+      vsg.y = vStep * 2;
+      vsg.fixed = true;
+    }
+
+    const vrouter = _.find(nodes, {label: 'vrouter'});
+    if (vrouter) {
+      vrouter.x = hStep * 3;
+      vrouter.y = vStep * 2;
+      vrouter.fixed = true;
+    }
+
+    const oc = _.find(nodes, {label: 'ONOS_CORD'});
+    if (oc) {
+      oc.x = hStep + (hStep / 2);
+      oc.y = vStep * 3;
+      oc.fixed = true;
+    }
+
+    const of = _.find(nodes, {label: 'ONOS_Fabric'});
+    if (of) {
+      of.x = (hStep * 2) + (hStep / 2);
+      of.y = vStep * 3;
+      of.fixed = true;
+    }
+
+    return nodes;
+  }
+
+  private positionFineGrainedNodes(graph: any): any[] {
+
+    let subscriberPosition = 0;
+    let networkPosition = 0;
+
+    const positionSubscriberNode = (node: any, hStep: number, vStep: number): any => {
+      subscriberPosition = subscriberPosition + 1;
+      node.x = hStep;
+      node.y = vStep * (3 + subscriberPosition );
+      node.fixed = true;
+      return node;
+    };
+
+    const positionServiceNode = (node: any, hStep: number, vStep: number, vLength: number): any => {
+      if (node.label === 'ONOS_Fabric') {
+        node.x = hStep * 4;
+        node.y = vStep;
+      }
+      if (node.label === 'volt' || node.label === 'vsg' || node.label === 'vrouter') {
+        node.y = vStep * 3;
+      }
+      if (node.label === 'volt') {
+        node.x = hStep * 2;
+      }
+      if (node.label === 'vsg') {
+        node.x = hStep * 3;
+      }
+      if (node.label === 'vrouter') {
+        node.x = hStep * 4;
+      }
+      if (node.label === 'ONOS_CORD' || node.label === 'vtr') {
+        node.y = vStep * (vLength -1);
+      }
+      if (node.label === 'ONOS_CORD') {
+        node.x = hStep * 2;
+      }
+      if (node.label === 'vtr') {
+        node.x = hStep * 3;
+      }
+
+      node.fixed = true;
+      return node;
+    };
+
+    const positionNetworkNode = (node: any, hStep: number, vStep: number): any => {
+      networkPosition = networkPosition + 1;
+      node.x = hStep * 5;
+      node.y = vStep * (3 + networkPosition );
+      node.fixed = true;
+      return node;
+    };
+
+    const findSubscriberElementY = (nodes: any[], node: any): any => {
+      if (node.model.subscriber_root_id) {
+        console.log(node.model.subscriber_root_id);
+        const subscriber = _.find(nodes, n => {
+          return n.id === `tenantroot~${node.model.subscriber_root_id}`
+        });
+        debugger;
+        // console.log(subscriber.y);
+        return subscriber.y;
+      }
+    };
+
+    const positionTenantNode = (nodes: any[], node: any, hStep: number, vStep: number): any => {
+      if (node.model.kind === 'vOLT') {
+        node.x = hStep * 2;
+      }
+      if (node.model.kind === 'vCPE') {
+        node.x = hStep * 3;
+      }
+      if (node.model.kind === 'vROUTER') {
+        node.x = hStep * 4;
+      }
+
+      return node;
+    };
+
+    let subscribers = _.filter(graph.nodes, n => n.type === 'subscriber' || n.type === 'tenantroot');
+
+    const vLength = 5 + subscribers.length;
+
+    const hStep = this.getSvgDimensions('xos-fine-grained-tenancy-graph').width / 6;
+    const vStep = this.getSvgDimensions('xos-fine-grained-tenancy-graph').heigth / vLength;
+
+    graph.nodes = _.map(graph.nodes, n => {
+      if (n.type === 'subscriber' || n.type === 'tenantroot') {
+        n = positionSubscriberNode(n, hStep, vStep);
+      }
+      if (n.type === 'service') {
+        n = positionServiceNode(n, hStep, vStep, vLength);
+      }
+      if (n.type === 'network') {
+        n = positionNetworkNode(n, hStep, vStep);
+      }
+      if (n.type === 'tenant') {
+        n = positionTenantNode(graph.nodes, n, hStep, vStep);
+      }
+      // n.fixed = true;
+      return n;
+    });
+    return graph;
+  }
+}
diff --git a/xos/gui/src/index.html b/xos/gui/src/index.html
new file mode 100644
index 0000000..9ad9542
--- /dev/null
+++ b/xos/gui/src/index.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html lang="en" ng-app="xos-rcord-gui-extension">
+<head>
+  <meta charset="UTF-8">
+  <title>Document</title>
+  <link href="/spa/loader.css" rel="stylesheet">
+  <link href="/spa/app.css" rel="stylesheet">
+</head>
+<body>
+  <div ui-view></div>
+  <script src="/spa/vendor.js"></script>
+  <script src="/spa/app.js"></script>
+  <script src="/spa/loader.js"></script>
+  <script src="/spa/app.config.js"></script>
+  <script src="/spa/style.config.js"></script>
+</body>
+</html>
\ No newline at end of file
diff --git a/xos/gui/src/index.ts b/xos/gui/src/index.ts
new file mode 100644
index 0000000..adf4382
--- /dev/null
+++ b/xos/gui/src/index.ts
@@ -0,0 +1,17 @@
+/// <reference path="../typings/index.d.ts" />
+import * as angular from 'angular';
+
+import 'angular-ui-router';
+import 'angular-resource';
+import 'angular-cookies';
+import {RCordGraphReducer, IRCordGraphReducer} from './app/services/graph.extension';
+
+angular.module('xos-rcord-gui-extension', [
+    'ui.router',
+    'app'
+  ])
+  .service('RCordGraphReducer', RCordGraphReducer)
+  .run(function($log: ng.ILogService, RCordGraphReducer: IRCordGraphReducer) {
+    $log.info('[xos-rcord-graph-gui-extension] App is running');
+    RCordGraphReducer.setup();
+  });
diff --git a/xos/gui/tsconfig.json b/xos/gui/tsconfig.json
new file mode 100644
index 0000000..c516fb7
--- /dev/null
+++ b/xos/gui/tsconfig.json
@@ -0,0 +1,19 @@
+{
+  "compilerOptions": {
+    "sourceMap": true,
+    "emitDecoratorMetadata": true,
+    "experimentalDecorators": true,
+    "removeComments": false,
+    "noImplicitAny": false
+  },
+  "compileOnSave": false,
+  "include": [
+    "src/**/*.ts",
+    "src/**/*.tsx"
+  ],
+  "exclude": [
+    "typings/**",
+    "conf/app/**",
+    "node_modules"
+  ]
+}
diff --git a/xos/gui/tslint.json b/xos/gui/tslint.json
new file mode 100644
index 0000000..04d33e1
--- /dev/null
+++ b/xos/gui/tslint.json
@@ -0,0 +1,84 @@
+{
+  "rules": {
+    "ban": [true,
+      ["_", "extend"],
+      ["_", "isNull"],
+      ["_", "isDefined"]
+    ],
+    "class-name": true,
+    "comment-format": [true,
+      "check-space"
+    ],
+    "curly": true,
+    "eofline": true,
+    "forin": true,
+    "indent": [true, "spaces"],
+    "interface-name": true,
+    "jsdoc-format": true,
+    "label-position": true,
+    "label-undefined": true,
+    "max-line-length": [false, 140],
+    "member-ordering": [true,
+      "public-before-private",
+      "static-before-instance",
+      "variables-before-functions"
+    ],
+    "no-arg": true,
+    "no-bitwise": true,
+    "no-console": [true,
+      "debug",
+      "info",
+      "time",
+      "timeEnd",
+      "trace",
+      "log",
+      "error"
+    ],
+    "no-construct": true,
+    "no-constructor-vars": false,
+    "no-debugger": true,
+    "no-duplicate-key": true,
+    "no-duplicate-variable": true,
+    "no-empty": true,
+    "no-eval": true,
+    "no-string-literal": false,
+    "no-switch-case-fall-through": true,
+    "trailing-comma": true,
+    "no-trailing-whitespace": true,
+    "no-unused-expression": true,
+    "no-unused-variable": true,
+    "no-unreachable": true,
+    "no-use-before-declare": true,
+    "no-var-requires": true,
+    "one-line": [true,
+      "check-open-brace",
+      "check-catch",
+      "check-whitespace"
+    ],
+    "quotemark": [true, "single"],
+    "radix": true,
+    "semicolon": true,
+    "triple-equals": [true, "allow-null-check"],
+    "typedef": [true,
+      "callSignature",
+      "indexSignature",
+      "parameter",
+      "propertySignature",
+      "variableDeclarator"
+    ],
+    "typedef-whitespace": [true,
+      ["callSignature", "noSpace"],
+      ["catchClause", "noSpace"],
+      ["indexSignature", "space"]
+    ],
+    "use-strict": false,
+    "variable-name": false,
+    "whitespace": [true,
+      "check-branch",
+      "check-decl",
+      "check-operator",
+      "check-separator",
+      "check-type"
+    ]
+  }
+}
diff --git a/xos/gui/typings.json b/xos/gui/typings.json
new file mode 100644
index 0000000..a830275
--- /dev/null
+++ b/xos/gui/typings.json
@@ -0,0 +1,18 @@
+{
+  "globalDependencies": {
+    "angular": "registry:dt/angular#1.5.0+20161208205636",
+    "angular-cookies": "registry:dt/angular-cookies#1.4.0+20160317120654",
+    "angular-mocks": "github:DefinitelyTyped/DefinitelyTyped/angularjs/angular-mocks.d.ts#dc9dabe74a5be62613b17a3605309783a12ff28a",
+    "angular-resource": "registry:dt/angular-resource#1.5.0+20161114123626",
+    "angular-ui-router": "registry:dt/angular-ui-router#1.1.5+20160707113237",
+    "es6-shim": "registry:dt/es6-shim#0.31.2+20160602141504",
+    "jasmine": "github:DefinitelyTyped/DefinitelyTyped/jasmine/jasmine.d.ts#dc9dabe74a5be62613b17a3605309783a12ff28a",
+    "jasmine-jquery": "registry:dt/jasmine-jquery#1.5.8+20161128184045",
+    "jquery": "registry:dt/jquery#1.10.0+20161119044246",
+    "require": "registry:dt/require#2.1.20+20160316155526",
+    "socket.io-client": "registry:dt/socket.io-client#1.4.4+20160317120654"
+  },
+  "dependencies": {
+    "angular-toastr": "registry:dt/angular-toastr#1.6.0+20160708003927"
+  }
+}