diff --git a/app/bower_components/angular-ui-select2/.bower.json b/app/bower_components/angular-ui-select2/.bower.json
new file mode 100644
index 0000000..2877ec1
--- /dev/null
+++ b/app/bower_components/angular-ui-select2/.bower.json
@@ -0,0 +1,30 @@
+{
+ "author": "AngularUI",
+ "name": "angular-ui-select2",
+ "version": "0.0.5",
+ "homepage": "http://angular-ui.github.com",
+ "keywords": [
+ "angular",
+ "angularui",
+ "select2"
+ ],
+ "main": "./src/select2.js",
+ "dependencies": {
+ "angular": ">=1.2.0",
+ "select2": "~3.4",
+ "jquery": ">=1.6.4"
+ },
+ "devDependencies": {
+ "angular-mocks": ">=1.0.2"
+ },
+ "_release": "0.0.5",
+ "_resolution": {
+ "type": "version",
+ "tag": "v0.0.5",
+ "commit": "680bf4abb3dba0835f0d5002fe111e3396ae617e"
+ },
+ "_source": "https://github.com/angular-ui/ui-select2.git",
+ "_target": "^0.0.5",
+ "_originalSource": "angular-ui-select2",
+ "_direct": true
+}
\ No newline at end of file
diff --git a/app/bower_components/angular-ui-select2/.bowerrc b/app/bower_components/angular-ui-select2/.bowerrc
new file mode 100644
index 0000000..deceb62
--- /dev/null
+++ b/app/bower_components/angular-ui-select2/.bowerrc
@@ -0,0 +1,3 @@
+{
+ "directory": "bower_components"
+}
\ No newline at end of file
diff --git a/app/bower_components/angular-ui-select2/.gitignore b/app/bower_components/angular-ui-select2/.gitignore
new file mode 100644
index 0000000..a088b6f
--- /dev/null
+++ b/app/bower_components/angular-ui-select2/.gitignore
@@ -0,0 +1,2 @@
+node_modules
+bower_components
diff --git a/app/bower_components/angular-ui-select2/.jshintrc b/app/bower_components/angular-ui-select2/.jshintrc
new file mode 100644
index 0000000..1b83bfb
--- /dev/null
+++ b/app/bower_components/angular-ui-select2/.jshintrc
@@ -0,0 +1,11 @@
+{
+ "curly": true,
+ "eqeqeq": true,
+ "immed": true,
+ "latedef": true,
+ "newcap": true,
+ "noarg": true,
+ "sub": true,
+ "boss": true,
+ "eqnull": true
+}
diff --git a/app/bower_components/angular-ui-select2/.travis.yml b/app/bower_components/angular-ui-select2/.travis.yml
new file mode 100644
index 0000000..ffa3563
--- /dev/null
+++ b/app/bower_components/angular-ui-select2/.travis.yml
@@ -0,0 +1,13 @@
+ language: node_js
+ node_js:
+ - "0.8"
+ - "0.10"
+
+ before_install:
+ - export DISPLAY=:99.0
+ - sh -e /etc/init.d/xvfb start
+ - npm install -g karma bower grunt-cli
+ - bower install
+ - npm install
+
+ script: "grunt"
diff --git a/app/bower_components/angular-ui-select2/CONTRIBUTING.md b/app/bower_components/angular-ui-select2/CONTRIBUTING.md
new file mode 100644
index 0000000..cb66f02
--- /dev/null
+++ b/app/bower_components/angular-ui-select2/CONTRIBUTING.md
@@ -0,0 +1,8 @@
+CONTRIBUTING
+============
+
+* Open a [Pull Request (PR)](https://github.com/angular-ui/ui-select2/pull/new/master)
+* Make sure your PR is on a **new branch** you created off of the latest version of master
+* Do **not** open a PR from your master branch
+* Open a PR to start a discussion even if the code isn't finished (easier to collect feedback this way)
+* Make sure all previous tests pass and add new tests for added behaviors
diff --git a/app/bower_components/angular-ui-select2/Gruntfile.js b/app/bower_components/angular-ui-select2/Gruntfile.js
new file mode 100644
index 0000000..ea8dc33
--- /dev/null
+++ b/app/bower_components/angular-ui-select2/Gruntfile.js
@@ -0,0 +1,56 @@
+module.exports = function (grunt) {
+ 'use strict';
+
+ var initConfig;
+
+ // Loading external tasks
+ grunt.loadNpmTasks('grunt-contrib-jshint');
+ grunt.loadNpmTasks('grunt-contrib-watch');
+ grunt.loadNpmTasks('grunt-karma');
+
+ // Project configuration.
+ initConfig = {
+ bower: 'bower_components',
+ pkg: grunt.file.readJSON('package.json'),
+ watch: {
+ test: {
+ // Lint & run unit tests in Karma
+ // Just running `$ grunt watch` will only lint your code; to run tests
+ // on watch, use `$ grunt watch:karma` to start a Karma server first
+ files: ['src/select2.js', 'test/select2Spec.js'],
+ tasks: ['jshint', 'karma:unit:run']
+ }
+ },
+ karma: {
+ options: {
+ configFile: 'test/karma.conf.js',
+ browsers: ['Firefox', 'PhantomJS']
+ },
+ unit: {
+ singleRun: true
+ },
+ watch: {
+ autoWatch: true
+ },
+ server: {
+ background: true
+ }
+ },
+ jshint: {
+ all:[
+ 'gruntFile.js',
+ 'src/**/*.js',
+ 'test/**/*Spec.js'
+ ],
+ options: {
+ jshintrc: '.jshintrc'
+ }
+ },
+ };
+
+ // Register tasks
+ grunt.registerTask('default', ['jshint', 'karma:unit']);
+ grunt.registerTask('watch', ['jshint', 'karma:watch']);
+
+ grunt.initConfig(initConfig);
+};
diff --git a/app/bower_components/angular-ui-select2/LICENSE b/app/bower_components/angular-ui-select2/LICENSE
new file mode 100644
index 0000000..dfc5e0c
--- /dev/null
+++ b/app/bower_components/angular-ui-select2/LICENSE
@@ -0,0 +1,21 @@
+The MIT License
+
+Copyright (c) 2012 the AngularUI Team, http://angular-ui.github.com
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/app/bower_components/angular-ui-select2/README.md b/app/bower_components/angular-ui-select2/README.md
new file mode 100644
index 0000000..feb3626
--- /dev/null
+++ b/app/bower_components/angular-ui-select2/README.md
@@ -0,0 +1,165 @@
+ui-select2 [](https://travis-ci.org/angular-ui/ui-select2)
+==========
+This directive allows you to enhance your select elements with behaviour from the [select2](http://ivaynberg.github.io/select2/) library.
+
+# Requirements
+
+- [AngularJS](http://angularjs.org/)
+- [JQuery](http://jquery.com/)
+- [Select2](http://ivaynberg.github.io/select2/)
+
+## Setup
+
+1. Install **Karma**, **Grunt** and **Bower**
+ `$ npm install -g karma grunt-cli bower`
+2. Install development dependencies
+ `$ npm install`
+3. Install components
+ `$ bower install`
+4. ???
+5. Profit!
+
+## Testing
+
+We use [Grunt](http://gruntjs.com/) to check for JavaScript syntax errors and execute all unit tests. To run Grunt, simply execute:
+
+`$ grunt`
+
+This will lint and test the code, then exit. To have Grunt stay open and automatically lint and test your files whenever you make a code change, use:
+
+`$ grunt karma:server watch`
+
+This will start a Karma server in the background and run unit tests in Firefox and PhantomJS whenever the source code or spec file is saved.
+
+# Usage
+
+We use [bower](https://github.com/bower/bower) for dependency management. Install AngularUI Select2 into your project by running the command
+
+`$ bower install angular-ui-select2`
+
+If you use a `bower.json` file in your project, you can have Bower save ui-select2 as a dependency by passing the `--save` or `--save-dev` flag with the above command.
+
+This will copy the ui-select2 files into your `bower_components` folder, along with its dependencies. Load the script files in your application:
+```html
+
+
+
+
+
+```
+
+(Note that `jquery` must be loaded before `angular` so that it doesn't use `jqLite` internally)
+
+
+Add the select2 module as a dependency to your application module:
+
+```javascript
+var myAppModule = angular.module('MyApp', ['ui.select2']);
+```
+
+Apply the directive to your form elements:
+
+```html
+
+```
+
+## Options
+
+All the select2 options can be passed through the directive. You can read more about the supported list of options and what they do on the [Select2 Documentation Page](http://ivaynberg.github.com/select2/)
+
+```javascript
+myAppModule.controller('MyController', function($scope) {
+ $scope.select2Options = {
+ allowClear:true
+ };
+});
+```
+
+```html
+
+```
+
+Some time it may make sense to specify the options in the template file.
+
+```html
+
+```
+
+## Working with ng-model
+
+The ui-select2 directive plays nicely with ng-model and validation directives such as ng-required.
+
+If you add the ng-model directive to same the element as ui-select2 then the picked option is automatically synchronized with the model value.
+
+## Working with dynamic options
+`ui-select2` is incompatible with `